Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/upplication/landing
This project builds the static and internationalized landing page of Upplication.
https://github.com/upplication/landing
gulp jade netlify serverless static-site
Last synced: about 1 month ago
JSON representation
This project builds the static and internationalized landing page of Upplication.
- Host: GitHub
- URL: https://github.com/upplication/landing
- Owner: Upplication
- License: gpl-3.0
- Created: 2014-02-18T15:04:47.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2022-12-03T06:51:57.000Z (almost 2 years ago)
- Last Synced: 2024-04-14T12:31:29.631Z (7 months ago)
- Topics: gulp, jade, netlify, serverless, static-site
- Language: Less
- Homepage: https://www.upplication.com
- Size: 38 MB
- Stars: 27
- Watchers: 11
- Forks: 18
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Upplication Landing
[![Build Status](https://travis-ci.org/Upplication/landing.svg?branch=develop)](https://travis-ci.org/Upplication/landing)```
$ git clone [email protected]:Upplication/landing.git
$ yarn install
$ yarn start
```## Requirements
* [node](http://nodejs.org/)
* [npm](https://docs.npmjs.com/)
* [yarn](https://yarnpkg.com/)Also, it's recomendend (but not mandatory) installing
* [gulp-cli](http://gulpjs.com/) `yarn install -g gulp-cli`## Installation
```
$ git clone [email protected]:Upplication/landing.git
$ yarn install
```## Running
```
$ yarn start
```Starts a local development environment which:
* Is accesible at http://localhost:9000.
* Watches changes in css, jade, js ... folders and compiles if it is necessary.
* Browser lives reload.## Deployment
```
$ yarn run deploy --mode=production
```Builds the project with optimization for distribution.
If you are going to upload the project to a folder different than root (/), you can use a parameter called `config.base_path` with the destination root path. Example `grunt deploy --config.base_path=/new` to make the static files points to the proper path.
## Documentation
This is a quick reference that aims to help you to learn how to add new languages and views on this project.### Configure environment
The file `config.json` contains the definition of all the configuration needed by the project. This definitions are grouped by environment. You can activate one environemnt by calling the paramenter `env`. Example `yarn run deploy -- --env=localhost` load all the vars defined in the localhost section. All this vars are available at:
* Jade templates by calling `#{localConfig.xxxx}`
* Saas files by calling `@@config`. (#{localConfig.} cant be use because saas define his own vars in that way)
* JSON i18n files by calling `@@config`.You can override this vars passing the concrete key as parameter with the prefix `config.`. Example `yarn run deploy -- --env=localhost --config.token_manager=1337 --mode=production` load all the vars defined in the localhost section and override the token_manager var with the value `1337`
### Add a new view
1. *Adding template*: Create:
`app/views/[view_name].jade`
2. *Adding styles*:
- Create a less file: `app/styles/less/[view_name]/[name].less`
- Add the new result css to the view. Example:
```
link(rel='stylesheet', href='#{localConfig.base_path}/styles/[view_name]/[name].css')
```3. *Adding scripts*:
Scripts are concatenated by folder.
- Create multiple js files inside a folder:
```
app/scripts/[folder]/1.js
app/scripts/[folder]/2.js
app/scripts/[folder]/3.js
```
- Add the new result js to the view. Example:
```
script(type="text/javascript", src='#{localConfig.base_path}/scripts/[folder].js')
```4. *Add translations*:
Update all: `app/locales/[names]_[language_code]-[country-code].json` with:
- Add a new object in the root with the name of the file added to the view without the extension [view_name]
- Add the following keys to the object:
- _url: the absoulte url for the view in the current language
- _meta_title: seo
- _meta_description: seo
- _keywords: seo
- _priority: sitemap priorityWe use Oneskyapp.com to translate/review the texts. You can use the task: grunt oneskyExport to override the lang with the translations in: https://upplication.oneskyapp.com (you need the access key and secret key)
Notes:
* You don't need to follow this process in order to link external resources (blog, youtube videos, etc.) using the language file.
* Do not overwrite any other URL (you can check the languages files or the auto-generated routing.json file)
* All variables starting with "_" are mandatory
* You can split the translations as many files as you want, only respects the naming: [name]_[language_code]-[country-code]*.json### Add a new language
1. *Add language*:Update: `app/locales/languages.json` adding the new language
2. *Add the translation file*:
Create: `app/locales/[custom_name]_[language_code]-[country_code]*.json`
Language code list: http://www.w3schools.com/tags/ref_language_codes.asp
Country code list: https://www.w3schools.com/tags/ref_country_codes.asp (optional)\* country code is optional.