This repository contains the source code for Blocknet's Scalaris website.
Powered by Jekyll.
| Scalaris Github | Join Our Discord |
|---|
Using Linux or MacOS:
- Install dependencies:
bundle install - Update dependencies:
bundle update - Start local server:
bundle exec jekyll serve
You can now see the docs at http://localhost:4400. This will reload automatically when changes are saved.
- Content - All text content should be constrained to the respective
source/_i18n/[lang].ymlfile. - Links:
- Language-specific permalinks specified in page Front Matter (Spanish example):
permalink_es: /listados/
- Add language-specific link to YAML under
global(Spanish example):link_listings: 'listados/'
- Use the YAML variable to reference links with Liquid, regardless of language
[Fees]({{ baseurl | append: lang.global.link_fees }})
- All external links should be constrained to the
_config.ymlfile.
- Language-specific permalinks specified in page Front Matter (Spanish example):
- Components:
- Sections - All reusable sections should be placed in
source/_includes/sections. - Repetitive - Templates should be created for all reptitive content and placed in
source/_includes/templates. - Core - All core components used on every page should be placed in
source/_includes.
- Sections - All reusable sections should be placed in
- Tags/Variables:
- Naming - Should be all lowercase and use underscores, no hyphens
- Usage - Should have a space inside the brackets;
- Correct:
{{ nav.downloads }} - Incorrect:
{{nav.downloads}}
- Correct:
- Asset Info:
- Manifest - Data found in
source/_data/manifest-latest.json; used to populate Listings table. - Profiles - Data found in
source/_data/profiles/; used to populate asset profiles.
- Manifest - Data found in
- Resources:
Follow these steps if you'd like to contribute to translating the website to another language. If you are not familiar with how to create a PR, put the translations in a Google Doc and reach out to @hanniabu on Discord with the link. Also feel free to reach out for clarifications on these instructions. Collaborations are encouraged to help cross check the translations!
- Create a YAML language file in the
source/_i18n/directory for the language you want to translate the site into. The files should be named after the language abbreviation. For example with French, it would besource/_i18n/fr.yml. - Copy the contents of
source/_i18n/en.ymlinto this new file and begin translating. For those unfamiliar with YAML, each line starts with a key, followed by a colon delimiter, and then the associated text for that key. For example inlang: English, lang is the key and English is the test you'd actually want to translate. For French the translated line would becomelang: Français. The top level keys (non-indented keys), for examplenav:, are used for context. So withnav:, all the keys/text underneath it (up to the next top level key) is pertaining to the navigation menu. - Skip any line that specifies
# Do not translate(a#signifies a comment). - Special case examples:
- For links, maintain the slashes.
- Original:
link_fees: 'fees/' - Translated: `link_fees: 'frais/'
- Original:
- For Markdown, maintain the special characters.
- Original:
Many exchanges *claim* to be __decentralized__ - Translated: `Beaucoup d'échanges prétendent être décentralisés'
- Original:
- For Markdown links, ONLY translate what's between the
[ ]brackets.- Original:
[Fees]({{ lang.global.link_fees }}) - Translated: `[Frais]({{ lang.global.link_fees }})'
- Original:
- For Liquid syntax, DO NOT translate anything.
- Original:
{{ site.exlink_docs }} - Translated: `{{ site.exlink_docs }}'
- Original:
- For links, maintain the slashes.
- If the translations for the entire site are complete:
- Edit
_config.ymland enable your language by adding it to the languages array (line ~28):languages: ["en"]. For example if you completed translation for French, it would becomelanguages: ["en", "fr"]. The language abbreviation must match that used for the translation file, in this casesource/_i18n/fr.yml. - Add the language option to the nav menu dropdown in
source/_includes/nav.html(line ~50).
- Edit
- Run HTMLProofer to check links:
bundle exec htmlproofer ./build - Make sure
url:in_config.ymlis correct (not the staging URL). - Build the docs with the
bundle exec jekyll buildcommand. - Deploy
build/contents to staging site for testing. - Deploy
build/contents to https://scalaris.info/.