mirror of
https://github.com/dkhamsing/open-source-ios-apps.git
synced 2024-12-25 10:41:46 +03:00
commit
7ae69646e3
4
.github/CONTRIBUTING.md
vendored
4
.github/CONTRIBUTING.md
vendored
@ -5,6 +5,10 @@ To contribute to`open-source-ios-apps`, update the **contents.json** file (this
|
||||
Please [open an issue](https://github.com/dkhamsing/open-source-ios-apps/issues) and contact
|
||||
@dkhamsing, @kvnbautista or @scribblemaniac.
|
||||
|
||||
## Delete app
|
||||
|
||||
To delete an app, add the value **archive** to the `tags` field.
|
||||
|
||||
## New app
|
||||
|
||||
Adding a `JSON` entry
|
||||
|
146
.github/convert.rb
vendored
146
.github/convert.rb
vendored
@ -1,7 +1,10 @@
|
||||
require 'date'
|
||||
require 'json'
|
||||
|
||||
OUTPUT = 'README.md'
|
||||
README = 'README.md'
|
||||
|
||||
ARCHIVE = 'ARCHIVE.md'
|
||||
ARCHIVE_TAG = 'archive'
|
||||
|
||||
def output_stars(number)
|
||||
case number
|
||||
@ -35,8 +38,23 @@ def output_flag(lang)
|
||||
end
|
||||
end
|
||||
|
||||
def apps_archived(apps)
|
||||
a = apps.select {|a| a['tags'] != nil }.select {|b| b['tags'].include?ARCHIVE_TAG}
|
||||
a.sort_by { |k, v| k['title'] }
|
||||
end
|
||||
|
||||
def apps_for_cat(apps, id)
|
||||
s = apps.select do |a|
|
||||
f = apps.select do |a|
|
||||
|
||||
tags = a['tags']
|
||||
if tags.nil?
|
||||
true
|
||||
else
|
||||
!(tags.include? ARCHIVE_TAG)
|
||||
end
|
||||
end
|
||||
|
||||
s = f.select do |a|
|
||||
cat = a['category']
|
||||
cat.class == Array ? cat.include?(id) : (cat == id)
|
||||
end
|
||||
@ -83,53 +101,83 @@ def output_apps(apps)
|
||||
o
|
||||
end
|
||||
|
||||
def write_readme(j)
|
||||
t = j['title']
|
||||
desc = j['description']
|
||||
h = j['header']
|
||||
f = j['footer']
|
||||
cats = j['categories']
|
||||
apps = j['projects']
|
||||
|
||||
date = DateTime.now
|
||||
date_display = date.strftime "%B %d, %Y"
|
||||
|
||||
output = '# ' + t
|
||||
output << "\n\n"
|
||||
output << desc
|
||||
output << "\n\nA collaborative list of **#{apps.count}** open-source iOS apps, your [contribution](https://github.com/dkhamsing/open-source-ios-apps/blob/master/.github/CONTRIBUTING.md) is welcome :smile: "
|
||||
output << "(last update *#{date_display}*)."
|
||||
|
||||
output << "\n \nJump to \n \n"
|
||||
|
||||
cats.each do |c|
|
||||
temp = "#{' ' unless c['parent']==nil }- [#{c['title']}](\##{c['id']}) \n"
|
||||
output << temp
|
||||
end
|
||||
|
||||
output << "- [Bonus](#bonus) \n"
|
||||
|
||||
output << "\n"
|
||||
output << h
|
||||
output << "\n"
|
||||
|
||||
cats.each do |c|
|
||||
temp = "\n#\##{'#' unless c['parent']==nil } #{c['title']} \n \n"
|
||||
|
||||
d = c['description']
|
||||
temp << "#{d} — " unless d.nil?
|
||||
|
||||
temp << "[back to top](#readme) \n \n"
|
||||
output << temp
|
||||
|
||||
cat_apps = apps_for_cat(apps, c['id'])
|
||||
output << output_apps(cat_apps)
|
||||
end
|
||||
|
||||
output << "\n"
|
||||
output << f
|
||||
|
||||
File.open(README, 'w') { |f| f.write output }
|
||||
puts "wrote #{README} ✨"
|
||||
end
|
||||
|
||||
def write_archive(j)
|
||||
t = j['title']
|
||||
desc = "This is an archive of the [main list](https://github.com/dkhamsing/open-source-ios-apps) for projects that are no longer maintained / old.\n\n"
|
||||
f = "## Contact\n\n- [github.com/dkhamsing](https://github.com/dkhamsing)\n- [twitter.com/dkhamsing](https://twitter.com/dkhamsing)\n"
|
||||
apps = j['projects']
|
||||
archived = apps_archived apps
|
||||
|
||||
output = "\# #{t} Archive\n\n"
|
||||
output << desc
|
||||
|
||||
archived.each do |a|
|
||||
t = a['title']
|
||||
s = a['source']
|
||||
output << "- #{t} #{s}\n"
|
||||
# output <<
|
||||
end
|
||||
|
||||
output << "\n"
|
||||
output << f
|
||||
|
||||
file = ARCHIVE
|
||||
File.open(file, 'w') { |f| f.write output }
|
||||
puts "wrote #{file} ✨"
|
||||
end
|
||||
|
||||
c = File.read 'contents.json'
|
||||
j = JSON.parse c
|
||||
|
||||
t = j['title']
|
||||
desc = j['description']
|
||||
h = j['header']
|
||||
f = j['footer']
|
||||
cats = j['categories']
|
||||
apps = j['projects']
|
||||
|
||||
date = DateTime.now
|
||||
date_display = date.strftime "%B %d, %Y"
|
||||
|
||||
output = '# ' + t
|
||||
output << "\n\n"
|
||||
output << desc
|
||||
output << "\n\nA collaborative list of **#{apps.count}** open-source iOS apps, your [contribution](https://github.com/dkhamsing/open-source-ios-apps/blob/master/.github/CONTRIBUTING.md) is welcome :smile: "
|
||||
output << "(last update *#{date_display}*)."
|
||||
|
||||
output << "\n \nJump to \n \n"
|
||||
|
||||
cats.each do |c|
|
||||
temp = "#{' ' unless c['parent']==nil }- [#{c['title']}](\##{c['id']}) \n"
|
||||
output << temp
|
||||
end
|
||||
|
||||
output << "- [Bonus](#bonus) \n"
|
||||
|
||||
output << "\n"
|
||||
output << h
|
||||
output << "\n"
|
||||
|
||||
cats.each do |c|
|
||||
temp = "\n#\##{'#' unless c['parent']==nil } #{c['title']} \n \n"
|
||||
|
||||
d = c['description']
|
||||
temp << "#{d} — " unless d.nil?
|
||||
|
||||
temp << "[back to top](#readme) \n \n"
|
||||
output << temp
|
||||
|
||||
cat_apps = apps_for_cat(apps, c['id'])
|
||||
output << output_apps(cat_apps)
|
||||
end
|
||||
|
||||
output << "\n"
|
||||
output << f
|
||||
|
||||
File.open(OUTPUT, 'w') { |f| f.write output }
|
||||
puts "wrote #{OUTPUT} ✨"
|
||||
write_readme(j)
|
||||
write_archive(j)
|
||||
|
4
.github/deploy.sh
vendored
4
.github/deploy.sh
vendored
@ -8,7 +8,9 @@ git config user.email "dkhamsing@users.noreply.github.com"
|
||||
#git checkout master
|
||||
|
||||
git add README.md
|
||||
|
||||
git commit -m "[auto] [ci skip] Generate README"
|
||||
|
||||
git add ARCHIVE.md
|
||||
git commit -m "[auto] [ci skip] Generate ARCHIVE"
|
||||
|
||||
git push --quiet "https://${GH_TOKEN}@github.com/dkhamsing/open-source-ios-apps" master:master > /dev/null 2>&1
|
||||
|
23
archive.md
23
archive.md
@ -1,23 +0,0 @@
|
||||
# Open-Source iOS Apps Archive
|
||||
|
||||
This is an archive of the [main list](https://github.com/dkhamsing/open-source-ios-apps) for projects that are no longer maintained / old.
|
||||
|
||||
- https://github.com/omz/AppSales-Mobile
|
||||
- https://github.com/squallstar/bancha-ios-app
|
||||
- https://github.com/nothingmagical/cheddar-ios
|
||||
- https://github.com/EverestOpenSource/Everest-iOS
|
||||
- https://github.com/dennisreimann/ioctocat
|
||||
- https://github.com/lastfm/lastfm-iphone
|
||||
- https://github.com/coderyi/Mume ([fork](https://github.com/opensourceios/Mume))
|
||||
- https://github.com/Imaginea/pancake-ios
|
||||
- https://code.google.com/p/metasyntactic/wiki/PocketFlix
|
||||
- https://github.com/ricburton/Repo
|
||||
- https://github.com/Haoest/SudokuResolv
|
||||
- https://github.com/FelixMLians/suning-shop-ios
|
||||
- https://github.com/applidium/Vim
|
||||
- https://github.com/tderouin/wikiHow-iPhone-Application/
|
||||
|
||||
## Contact
|
||||
|
||||
- [github.com/dkhamsing](https://github.com/dkhamsing)
|
||||
- [twitter.com/dkhamsing](https://twitter.com/dkhamsing)
|
112
contents.json
112
contents.json
@ -2,7 +2,7 @@
|
||||
"title": "Open-Source iOS Apps",
|
||||
"description": "<!-- \n⚠️ This README is generated, please do not update. To contribute, make changes to contents.json ⚠️ \n-->",
|
||||
"header": "```\n🔶 Swift projects\n\nProjects that are not in English have a flag\n🇨🇳 Project is in Chinese\n🇪🇸 Project is in Spanish, etc\n\n 100+ Stars: 🔥\n 200+ Stars: 🔥🔥\n 500+ Stars: 🔥🔥🔥\n1000+ Stars: 🔥🔥🔥🔥\n2000+ Stars: 🔥🔥🔥🔥🔥\n```",
|
||||
"footer": "## Bonus\n\nSee [archive](archive.md), [mac-apps](https://github.com/jeffreyjackson/mac-apps), [awesome-osx](https://github.com/iCHAIT/awesome-osx) and [android-apps](https://github.com/pcqpcq/open-source-android-apps).\n\n## Thanks\n\nThis list was inspired by [awesome-ios](https://github.com/vsouza/awesome-ios) and [awesome-swift](https://github.com/matteocrippa/awesome-swift). Thanks to all the [contributors](https://github.com/dkhamsing/open-source-ios-apps/graphs/contributors) 🎉 \n\n## Contact\n\n- [github.com/dkhamsing](https://github.com/dkhamsing)\n- [twitter.com/dkhamsing](https://twitter.com/dkhamsing)\n",
|
||||
"footer": "## Bonus\n\nSee [archive](ARCHIVE.md), [mac-apps](https://github.com/jeffreyjackson/mac-apps), [awesome-osx](https://github.com/iCHAIT/awesome-osx) and [android-apps](https://github.com/pcqpcq/open-source-android-apps).\n\n## Thanks\n\nThis list was inspired by [awesome-ios](https://github.com/vsouza/awesome-ios) and [awesome-swift](https://github.com/matteocrippa/awesome-swift). Thanks to all the [contributors](https://github.com/dkhamsing/open-source-ios-apps/graphs/contributors) 🎉 \n\n## Contact\n\n- [github.com/dkhamsing](https://github.com/dkhamsing)\n- [twitter.com/dkhamsing](https://twitter.com/dkhamsing)\n",
|
||||
"categories": [
|
||||
{
|
||||
"title": "Apple TV",
|
||||
@ -3460,6 +3460,116 @@
|
||||
"tags": [
|
||||
"swift"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "AppSales-Mobile",
|
||||
"category": "misc",
|
||||
"source": "https://github.com/omz/AppSales-Mobile",
|
||||
"tags": [
|
||||
"archive"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Bancha",
|
||||
"category": "misc",
|
||||
"source": "https://github.com/squallstar/bancha-ios-app",
|
||||
"tags": [
|
||||
"archive"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Cheddar",
|
||||
"category": "misc",
|
||||
"source": "https://github.com/nothingmagical/cheddar-ios",
|
||||
"tags": [
|
||||
"archive"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Everest",
|
||||
"category": "misc",
|
||||
"source": "https://github.com/EverestOpenSource/Everest-iOS",
|
||||
"tags": [
|
||||
"archive"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "iOctocat",
|
||||
"category": "misc",
|
||||
"source": "https://github.com/dennisreimann/ioctocat",
|
||||
"tags": [
|
||||
"archive"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "LastFM",
|
||||
"category": "misc",
|
||||
"source": "https://github.com/lastfm/lastfm-iphone",
|
||||
"tags": [
|
||||
"archive"
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"title": "Mume",
|
||||
"category": "misc",
|
||||
"source": "https://github.com/opensourceios/Mume",
|
||||
"tags": [
|
||||
"archive"
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"title": "Pancake",
|
||||
"category": "misc",
|
||||
"source": "https://github.com/Imaginea/pancake-ios",
|
||||
"tags": [
|
||||
"archive"
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"title": "PocketFlix",
|
||||
"category": "misc",
|
||||
"source": "https://code.google.com/archive/p/metasyntactic/wikis/PocketFlix.wiki",
|
||||
"tags": [
|
||||
"archive"
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"title": "Repo",
|
||||
"category": "misc",
|
||||
"source": "https://github.com/ricburton/Repo",
|
||||
"tags": [
|
||||
"archive"
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"title": "SudokuResolv",
|
||||
"category": "misc",
|
||||
"source": "https://github.com/Haoest/SudokuResolv",
|
||||
"tags": [
|
||||
"archive"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Vim",
|
||||
"category": "misc",
|
||||
"source": "https://github.com/applidium/Vim",
|
||||
"tags": [
|
||||
"archive"
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"title": "wikiHow",
|
||||
"category": "misc",
|
||||
"source": "https://github.com/tderouin/wikiHow-iPhone-Application/",
|
||||
"tags": [
|
||||
"archive"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user