Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
suqi authored Mar 24, 2024
0 parents commit c3d514f
Show file tree
Hide file tree
Showing 33 changed files with 2,568 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.bundle
.sass-cache
_site
Gemfile.lock
1 change: 1 addition & 0 deletions CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

2 changes: 2 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
source "https://rubygems.org"
gem 'github-pages'
20 changes: 20 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
The MIT License (MIT)

Copyright (c) 2019 Emil Baehr

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
113 changes: 113 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
# Automatic App Landing Page
**Create and deploy an iOS app landing page on GitHub Pages in only five minutes.**

Designed for GitHub Pages for super easy set up.

🔧 Fork this repo

🗝 Enter iOS App ID in `_config.yml`

📲 Upload video preview or screenshot

🎨 Customise site in `_config.yml` (no HTML/CSS)

📝 Write Privacy Policy as markdown in `privacypolicy.md`

🕒 Keep a changelog in `CHANGELOG.md`

✅ Site becomes live at GitHub Pages repository URL, e.g. `https://your-username.github.io/your-repo-name/`.

<img src="https://emilbaehr.com/files/jayson1.png" width="440"> <img src="https://emilbaehr.com/files/slor1.png" width="440">




## Quick Start

### Step 1: Fork this repo.
After forking the repo, your site will be live immediately on your personal Github Pages account, e.g. `https://yourusername.github.io/your-repo-name/`.

*Make sure GitHub Pages is enabled for your repo. It might take some time for the site to propagate entirely.*



### Step 2: Enter iOS App ID in `_config.yml`
Enter your iOS app ID in the `ios_app_id` field and commit your changes. Your site will automatically rebuild with your app icon, name, price and link to App Store.

You can go on with customising almost anything in the `_config.yml` file.

Things you can customise in `_config.yml`:
- App Name
- App Icon
- App Description
- App Price
- App Store Link
- Play Store Link
- Press Kit Download Link
- Cover Image
- Cover Overlay Color
- Background Color
- Text Colors
- iPhone Device Color
- Your Name / Company Name
- Link to Website
- Social Links and Contact Info
- Feature List (Title, text, icon)



### Step 3: Add screenshot or video

#### Adding a screenshot
Upload a `.png` or `.jpg` of your app to the folder `assets/screenshot/`. The name does not matter. Be sure to delete the placeholder `yourscreenshot.png`.

#### Adding video
Upload your video to the folder `assets/videos/`. To have support for most browsers, you need to upload two files – one for Safari and one for Chrome/Firefox.

Video formats supported by Chrome and Firefox:
- `.webm`
- `.ogg`

Video formats supported by Safari:
- `.mp4`
- `.mov`

#### Resolutions
The videos and screenshots must have one of the following resolutions:
- 828x1792
- 1125x2436
- 1242x2688



### Step 4: Edit (or remove) Privacy Policy and Changelog
Your site automatically includes pages for a Privacy Policy and a Changelog. Change the content of these pages by editing the `privacypolicy.md` and `CHANGELOG.md` files in the `_pages` directory.

In each of the markdown files, you can set the `include_in_header:` value to either `true` or `false`. This determines if the page is included in the top navigation.
By default, only the Changelog is included in the top navigation. The title of the navigation item can also be edited, by editing the `title:` in each markdown file.

If you need to, you can create additional markdown based pages just by creating an `.md` file like the `privacypolicy.md` and `CHANGELOG.md` files in the `_pages` directory.

**Please note:** The Privacy Policy and Changelog provided are written using dummy text, so please adapt each of them for your own app.
You can also choose not to include these pages, by simple deleting the `privacypolicy.md` and `CHANGELOG.md` files.




## Feedback
If you have feedback regarding bugs or improvements, open an issue, @ me on Twitter or write me an email. You can find my contact info on my website.

I'd love to see the sites you create using this little tool.

## Credits
- [Jekyll](https://github.com/jekyll/jekyll)
- [FontAwesome](https://fontawesome.github.io/Font-Awesome/)

## Donations
[Donations are welcome](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=S8ZZT3JXJPN92&currency_code=USD&source=url)

## Author
[Emil Baehr](https://emilbaehr.com/)

## License
[MIT License](LICENSE)
143 changes: 143 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
#page title
page_title : # Automatically populates with app name if not set and if iOS app ID is set. Otherwise enter manually.

# App Info
ios_app_id : 1234793120 # Required. Enter iOS app ID to automatically populate name, price and icons (e.g. 718043190).
ios_app_country : us # Required outside USA. Enter 2 letter country code as in https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2

appstore_link : # Automatically populates if not set and if iOS app ID is set. Otherwise enter manually.
playstore_link : # Enter Google Play Store URL.
presskit_download_link : https://emilbaehr.com # Enter a link to downloadable file or (e.g. public Dropbox link to a .zip file).
# Or upload your press kit file to assets and set path accordingly (e.g. "assets/your_press_kit.zip").

app_icon : # assets/appicon.png # Automatically populates if not set and if iOS app ID is set. Otherwise enter path to icon file manually.
app_name : # Automatically populates if not set and if iOS app ID is set. Otherwise enter manually.
app_price : # Automatically populates if not set and if iOS app ID is set. Otherwise enter manually.
app_description : Write a short tagline for your app.

enable_smart_app_banner : true # Set to true to show a smart app banner at top of page on mobile devices.



# Information About Yourself
your_name : Emil Baehr
your_link : https://emilbaehr.com
your_city : Copenhagen
email_address : [email protected]
facebook_username :
instagram_username : ebaehr
twitter_username : ebaehr
github_username : emilbaehr
youtube_username :
mastodon_link : https://mastodon.social/@ebaehr



# Feature List Edit, add or remove features to be presented.
features :

- title : GitHub Pages Jekyll Theme
description : Designed for GitHub Pages. Fork. Edit _config.yml. Upload screenshot/video. Push to gh-pages branch. Voilá!
fontawesome_icon_name : magic

- title : iPhone Device Preview
description : Preview your app in the context of an iPhone device. Five different device colors included.
fontawesome_icon_name : mobile

- title : Video Support
description : Preview app video on the iPhone device simply by placing your video files in the videos folder.
fontawesome_icon_name : play-circle

- title : Automatic Icon and Metadata
description : Enter iOS app ID in the _config.yml file to automatically fetch app icon, price and App Store Link.
fontawesome_icon_name : sync

- title : Easy to Tweak
description : Tweak accent color, images, icons and transparency via the _config.yml file. No HTML/CSS needed.
fontawesome_icon_name : adjust

- title : Feature List
description : Add features (like this one) to your site via the _config.yml file. No HTML/CSS needed.
fontawesome_icon_name : star

- title : Smart App Banner
description : Display a smart app banner on iOS devices.
fontawesome_icon_name : arrow-alt-circle-down

- title : Social Links
description : Easily add social media accounts and contact info in the footer via the _config.yml file. No HTML/CSS needed.
fontawesome_icon_name : link

- title : FontAwesome Support
description : Pick custom Font Awesome icons for the feature list via the _config.yml file. No HTML/CSS needed.
fontawesome_icon_name : info-circle

- title : # New Feature Title
description : # New Feature Description
fontawesome_icon_name : # Enter Font Awesome icon name (e.g. star). Find icons on fontawesome.com/icons.



# Theme Settings
topbar_color : "#000000"
topbar_transparency : 0.1
topbar_title_color : "#ffffff"

cover_image : assets/headerimage.png # Replace with alternative image path or image URL.
cover_overlay_color : "#363b3d"
cover_overlay_transparency : 0.8

device_color : black # Set to: blue, black, yellow, coral or white.

body_background_color : "#ffffff"

link_color : "#1d63ea"

app_title_color : "#ffffff"
app_price_color : "#ffffff"
app_description_color : "#ffffff"

feature_title_color : "#000000"
feature_text_color : "#666666"

feature_icons_foreground_color : "#1d63ea"
feature_icons_background_color : "#e6e6e6"

social_icons_foreground_color : "#666666"
social_icons_background_color : "#e6e6e6"

footer_text_color : "#666666"













####################################################
### Jekyll Configuration. No need to touch this. ###
####################################################

# Set the Sass partials directory, as we're using @imports
sass:
style: :compressed # You might prefer to minify using :compressed

# Exclude these files from your production _site
exclude:
- LICENSE
- README.md
- CNAME

collections:
pages:
output: true
permalink: /:path/

# Markdown rendering
markdown: kramdown
71 changes: 71 additions & 0 deletions _includes/appstoreimages.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

{% if site.ios_app_id %}

<script>

$(function() {

var apiURL = "https://itunes.apple.com/lookup?id={{ site.ios_app_id }}&country={{ site.ios_app_country }}&callback=?";

$.getJSON(apiURL, function(json) {

if (json.results && json.results.length) {

console.info("Image strings loaded from Apple API.");
var appInfo = json.results[0];

// Set favicon
$('link[rel="shortcut icon"]').attr("href", appInfo.artworkUrl512);

// Set page title using the iOS app ID if it is not set manually in _config.yml
var $pageTitle = $(".pageTitle");
if ($.trim($($pageTitle).text()).length == 0) {
$($pageTitle).html(appInfo.trackName);
}

// Set large app icon using the iOS app ID if it is not set manually in _config.yml
var $appIconLarge = $(".appIconLarge");
if (!$appIconLarge.attr('src')) {
$($appIconLarge).attr("src", appInfo.artworkUrl512);
}

// Set header app icon using the iOS app ID if it is not set manually in _config.yml
var $appIconHeader = $(".headerIcon");
if (!$appIconHeader.attr('src')) {
$($appIconHeader).attr("src", appInfo.artworkUrl512);
}

// Set app name using the iOS app ID if it is not set manually in _config.yml
var $appName = $(".appName");
if ($.trim($($appName).text()).length == 0) {
$($appName).html(appInfo.trackName);
}

// Set the name displayed in the header if it is not set manually in _config.yml
var $headerName = $(".headerName");
if ($.trim($($headerName).text()).length == 0) {
$($headerName).html(appInfo.trackName);
}

// Set price using the iOS app ID if it is not set manually in _config.yml
var $appPrice = $(".appPrice");
if ($.trim($($appPrice).text()).length == 0) {
$($appPrice).html(appInfo.formattedPrice);
}

// Set App Store link using the iOS app ID if it is not set manually in _config.yml
var $appStoreLink = $(".appStoreLink");
if ($.trim($appStoreLink.attr('href')).length == 0) {
$($appStoreLink).attr("href", appInfo.trackViewUrl);
}

console.info(appInfo);

}
});
});

</script>

{% endif %}
26 changes: 26 additions & 0 deletions _includes/features.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<div class="features">

{% for feature in site.features %}

{% if feature.title %}
<div class="feature">
<div>
<span class="fa-stack fa-1x">
<i class="iconBack fas fa-circle fa-stack-2x"></i>
<i class="iconTop fas fa-{{ feature.fontawesome_icon_name }} fa-stack-1x"></i>
</span>
</div>
<div class="featureText">
<h3>
{{ feature.title }}
</h3>
<p>
{{ feature.description }}
</p>
</div>
</div>
{% endif %}

{% endfor %}

</div>
Loading

0 comments on commit c3d514f

Please sign in to comment.