Mono's web site.
HTML Ruby CSS Dockerfile
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
_data Publish release 5.16.0.113 to preview Aug 18, 2018
_includes Add link to uninstall instructions to Mac download page (#397) Aug 6, 2018
_layouts Upgrade to FontAwesome 5 Mar 23, 2018
_posts small paragraph to explain why we don't run in the ILE May 30, 2018
api Use https for link to download server Feb 16, 2017
archived Change OSX -> macOS to conform to latest Apple guidelines Jun 20, 2018
community Change OSX -> macOS to conform to latest Apple guidelines Jun 20, 2018
css Upgrade to FontAwesome 5 Mar 23, 2018
docs Set a release date for 5.14 Aug 7, 2018
download Expand VS to Visual Studio on the download pages (#358) Mar 1, 2018
files Add an article about my GSoC experience (#314) Aug 29, 2017
images Add AIX/i blog post (#387) May 30, 2018
news Upgrade to Jekyll 3.0 Feb 7, 2016
.gitignore Add .jekyll-metadata to .gitignore Feb 7, 2016
.markdownlint.json Add markdownlint config for VSCode Apr 11, 2017
.travis.yml Upgrade ruby version May 28, 2018
404.html Use a permalink for 404.html and atom.xml Jul 30, 2014
CNAME added CNAME for GitHub Pages Aug 8, 2014
CONTRIBUTING.md Added a description about the site to README.md Jul 26, 2014
Dockerfile Add Dockerfile, remove Vagrantfile Jan 3, 2018
Gemfile Use markdownlint and html-proofer from Gemfile and bump to latest ver… Aug 4, 2017
Gemfile.lock Updated gems May 28, 2018
README.md Change OSX -> macOS to conform to latest Apple guidelines Jun 20, 2018
_config.yml Update jekyll and github-pages gems Jan 2, 2018
favicon.ico Fixed incorrect file permissions Jul 16, 2014
index.html Upgrade to FontAwesome 5 Mar 23, 2018
markdownlint-config.rb Add markdownlint config for VSCode Apr 11, 2017

README.md

Mono Project Website Build Status

This repository contains the files used for generating the Mono website.

The site uses Jekyll, a static site generator. GitHub Pages, where the site is hosted, natively supports Jekyll so every time someone pushes to this repository, the website will be built and updated. For hosting it yourself, see Setting up a local copy of the website.

Contributing to the website

Note: Major issues or feature requests should be filed on the issue tracker first, so we can discuss the implications.

If you want to edit a page, the easiest way is to click the Edit page on GitHub link under the page title on the website.

This will open the source file on GitHub where you can click the pencil button to start editing: Arrow to pencil

GitHub's editor shows you both the Markdown source as well as a preview of the rendered page: Code editor

After you've finished your changes, enter a proper summary and description and click the "Propose file change" button to open a pull request: Propose file change

Setting up a local copy of the website

For larger changes, using the web-based editor on GitHub is not really convenient. A better way is to setup a local copy of the website where you can experiment.

Dependencies

  • Ruby - Jekyll is written in Ruby
  • Bundler - a package manager for Ruby. Install it by running gem install bundler

After you've forked and cloned the repository, run the following commands:

  1. bundle install - downloads the required libraries
  2. bundle exec jekyll serve - builds the website and runs a local webserver on port 4000

Note: you can add the --watch option when running jekyll serve to let Jekyll watch for file changes, which means the site will be rebuilt when a file is modified.

Note 2: on case-insensitive file systems like on Windows and macOS you'll run into redirect loops for some URLs. The workaround is to disable redirects locally by removing the gems: jekyll-redirect-from entry from _config.yml.

The site should now be running locally: website

Repository structure

  • _includes - special folder contains snippets that can be included via {% include file.html %} in other pages
  • _layouts - special folder contains the layouts that are shared between pages. Layouts can be inherited, the root layout is base.html.
  • _posts - special folder, contains the source pages for the blog section, see Writing a blog post
  • _site - the output of the generated site is stored here by default, this folder only exists after Jekyll built the site
  • archived - content that is no longer relevant but kept to keep external links working
  • community - contains the source pages for the /community website section
  • css - contains the main stylesheet
  • docs - contains the source pages for the /docs website section
  • download - contains the source pages for the /download website section
  • files - stores binary files used in pages
  • images - stores the images used in pages
  • news - lists the blog pages from the _posts directory

Writing a blog post

Blogging is very easy with Jekyll. Simply add a new Markdown file to the _posts folder following the file name convention: YEAR-MONTH-DAY-title.md

Make sure to not include special characters in the file name. The blog entry's publishing date is automatically extracted from the file name.