This is the code base for the https://haxe.org website.
On the website there is a "Contribute" link on the footer of each page. Clicking this link will take you to the relevant file in this repository, or the relevant file in the HaxeManual repository.
You can then edit using Github's online file editor and submit a pull request. You can also fork the repo and edit on your local machine with your preferred text editor, which may be easier for large integrations.
Add a file named YEAR-MONTH-DAY-name.md
in posts/
.
The first part of the file contains the post metadata:
title: The title of your post
author: Author id
description: The description of your post
background: Optional image filename used as background for the post header
published: true/false, if true it'll apear in the blog post list/rss feed
tags: Comma separated of tags id
disqusID: Unique id number used for comments, take the number of the last post and increment it by one
---
The author id should be listed in people.json
:
{
"username": "the user id used in the post",
"name": "Your Name",
"bio": "One line bio about you"
}
The background image should be stored in www/img/blog/backgrounds/
.
The tags should be listed in posts/tags.json
:
{
"tag": "the tag id",
"name": "the tag display name",
"description": "the tag description, shown on the tag post list"
}
The post needs to have the ---
and the blank line between the metadata and the content.
The content of a post is in markdown, but you can include some html.
If you do it needs to be valid xml, so all tags needs to be closed: <br />
is okay but <br>
is not, and you can't have value-less attributes: <tag fullscreen="" />
is okay but <tag fullscren />
is not.
To include an image in markdown: ![Title](name.png)
.
The image should be stored in www/img/blog/YEAR-MONTH-DAY-name/
.
If you find a bug, have an issue, suggestion, or want to contribute in some other way, please use the Github Issue Tracker.
Any bugs we will attempt to address promptly. New content or subjective issues (colours, fonts, marketing material etc) will be considered on a case by case basis.
If you are a designer and want to help freshen up the look of the site, please open an issue or contact contact@haxe.org. We'd love your input!
Currently the css for the site is in www/css/style.css.
We currently use the bootstrap 2.3.2 CSS library and the Font Awesome 4.1.0 icon library.
pages/
, in either html or markdown.posts/
in markdown, and their images are in www/img/blog/$name/
.releaseNotes/
, in markdown.src/
. The generations calls src/Main.hx
and the javascript src/Client.hx
.views/
and uses the haxe template syntax with foreach disabled.www/
.The haxe.org website was designed to be easy to generate, to run a local copy follow these steps:
haxelib install all
and npm install
in the root directory.git submodule init && git submodule update
.manual
directory with git clone https://github.com/HaxeFoundation/HaxeManual.git manual
.haxe generate.hxml
.The website is now available in the out/
folder, you can launch it with nekotools server -d out
and access it at http://localhost:2000/
.
staging
branch will trigger Github Actions to build and deploy to "staging.haxe.org".master
branch will trigger Github Actions to build and deploy to "haxe.org".