Sources for the Haxe Code Cookbook site, a community driven resource website for learning Haxe in practise.
The repository contains a static website generator, which converts markdown articles into a website. The project is being developed here on GitHub, feel free to contribute Haxe related code snippets and tutorials.
- The actual articles are in assets/content/cookbook, organized per folder.
- The html template files are in assets/content/.
- The static files (css, js, images) files are in assets/includes/.
- The Haxe source files of the generator are in src/.
- The website-generated content will output in
output/
(excluded from git).
Please add/edit the articles (markdown files) in the assets folder and do a pull request.
It would be nice if you keep the formatting of the code in the same style as used already:
- Braces on same line.
- Two-space indentation.
- No type-hints for local variables and function return unless it's instructive.
- Type-hints for fields.
- Type-hints for function arguments unless it's very obvious.
- Judicious use of extra line-breaks to avoid ugly automatic breaks (check the output).
- The first heading is used in the navigation. Keep this title short.
- The first paragraph is used as description. Describe what the content of the article is about.
- Use
> Author: [Name](https://github.com/username)
to mark yourself as author of the article. The other contributors are inferred from git commits. - Tag the article using
[tags]: / "tag1,tag2"
(no spaces). Try to use an existing tag. - Mention the author / sources at the bottom of the page.
- If you want to include a try.haxe.org code snippet use
[tryhaxe](https://try.haxe.org/embed/76f24)
. - If you want to include a YouTube video use
[youtube](https://www.youtube.com/watch?v=dQw4w9WgXcQ)
. - If possible, link to related pages in the Haxe Manual / API documentation.
- If you want to use images or other includes, create a folder called assets in the same directory as the article and link to that.
This would be a typical template to use. Use ```haxe
for syntax highlighting:
[tags]: / "class,array,json,building-fields" # Title of the page Description and explanation of the code. ## Implementation ```haxe class Main { // Code here } ``` ## Usage Description of how to use/test the code. ```haxe class Test { // Code here } ``` > More on this topic: > > * [Class field in Haxe Manual](https://haxe.org/manual/class-field.html) > > Author: [Name](https://github.com/username)
To run the project you can use Neko:
Call neko CodeCookBook.n
to re-generate the output files.
You need Haxe 3.4.2+ installed.
The static site generator source depends on hxtemplo and haxe-markdown.
Install the libraries using haxelib, run the following command in the root of the project:
haxelib install all
The CSS files are compressed using less. Install from npm:
npm install -g less
npm install -g less-plugin-clean-css