mirror of
https://github.com/seigler/dash-website
synced 2025-07-27 07:16:10 +00:00
* (Chore) Editorconfig: Add an editorconfig file so those spaces and tabs dont keep mixing * (Refactor) Build: use npm scripts to build assets * (Chore) Build: remove dist files from repo / fix ESLint errors * (Update) Build: Remove unused tasks / add autoprefixer * (Chore) Gemfile: remove old dependencies * (Chore) Package.json: Shrinkwrap & postinstalll * (Doc) Build: Update instructions for new build system * (Fix) Build: Wach html files in all folders * (Fix) Build: exclude _site/ from watch * (Chore) Build/CI: Update buildscript for node/ruby combined * (Chore) Travis: Add g++ compiler to environment * (Chore) Build: fix watched directory * (Fix) travis: set version to 4.5.0 LTS * (Fix) travis: remove shrinkwrap * (Fix) Travis: rvm * (Fix) Travis: before_install * (Fix) Travis: ignore dist for html proofer
106 lines
3 KiB
Markdown
106 lines
3 KiB
Markdown
# Dash Website
|
|
|
|
## Jekyll
|
|
We are using Jekyll to generate the static html files.
|
|
https://jekyllrb.com
|
|
|
|
### Requirements (mac)
|
|
* Ruby: `brew install ruby`
|
|
* Ruby Gems: https://rubygems.org/pages/download
|
|
* NodeJS: https://nodejs.org/en/ (Ideally >=4.5.0)
|
|
* Python: `brew install python`
|
|
* Bundler: `gem install bundler`
|
|
|
|
### Dependencies
|
|
(If you have nvm, do `nvm install && nvm use` first.)
|
|
|
|
Simply run `npm install` to install all dependencies. This will also run `bundle install` on *postinstall* to install all ruby gems.
|
|
|
|
**CI Note**: The Gems must also be installed on the CI server.
|
|
|
|
**Mac Note**: Bundler will try to install the dependency `nokogiri`. If you are using a Mac, and run into issues related to `nokogiri` during `bundle install`, do the following:
|
|
|
|
`xcode-select --install`
|
|
|
|
`gem install nokogiri`
|
|
|
|
Then run `bundle install`
|
|
|
|
|
|
### Plugins
|
|
* `jekyll-multiple-languages-plugin` installed as a gem. Documentation at https://github.com/perrywoodin/jekyll-multiple-languages-plugin. This is a modified fork that adds two new tags for outputting markdown `{% tmd key %}` or `{% translatemd key %}`
|
|
|
|
(If you still have a `_plugins/jekyll-multiple-languages-plugin` directory in your root folder, you will need to remove it.)
|
|
|
|
## Development
|
|
`npm start` or `npm run watch` to build to the _site directory whenever a file is changed and serve via *localhost:3000*
|
|
|
|
## Production Build
|
|
Production builds should be handled by CI.
|
|
|
|
`npm run build` will build a fully minified, mangled, and compressed build to the _site directory.
|
|
|
|
Mac
|
|
xcode-select --install
|
|
gem install nokogiri
|
|
|
|
## i18n
|
|
Language variables are set in `/_i18n/*.yml` files. The master language file is `/_i18n/en.yml`. All other languages should use that file as a base.
|
|
|
|
### Writing Content
|
|
|
|
Almost all of the content is defined as a variable in the `/_i18n/*.yml` files. There will be a separate yml file for each language that is supported. The master
|
|
|
|
Content should be written with little to no html. Do not wrap the content in `<p></p>` tags. If you need separate paragraphs, use two line breaks. For example:
|
|
|
|
```
|
|
Paragraph one
|
|
|
|
|
|
Paragraph two
|
|
```
|
|
|
|
Will render as:
|
|
```
|
|
<p>Paragraph one</p>
|
|
<p>Paragraph two</p>
|
|
```
|
|
|
|
### Displaying Content
|
|
|
|
#### Strings
|
|
To output a variable to a template use:
|
|
`{% t key %}`
|
|
or
|
|
`{% translate key %}`
|
|
|
|
#### Markdown
|
|
To output a variable to a template as markdown use:
|
|
`{% tmd key %}`
|
|
or
|
|
`{% translatemd key %}`
|
|
|
|
#### Files
|
|
i18n files can be saved in their corresponding directories under `/_i18n/`
|
|
|
|
To include a file use:
|
|
`{% tf pagename/blockname.md %}`
|
|
or
|
|
`{% translate_file pagename/blockname.md %}`
|
|
|
|
## Writing a Blog Post
|
|
Blog posts can be written in MarkDown (*.md) or HTML (*.html).
|
|
|
|
Posts need to be saved in the `_posts` directory and the filename must always start with YYYY-MM-DD-
|
|
|
|
For example: `2016-05-12-new-website.md`
|
|
|
|
###Front matter
|
|
The top page of every post should contain the following (Example):
|
|
```
|
|
author: perry
|
|
layout: post
|
|
image: /assets/images/2016/05/Node40-banner.jpg
|
|
title: New website for Node40
|
|
description: Check out the new website for Node40
|
|
```
|