All Projects → HaxeFoundation → Haxemanual

HaxeFoundation / Haxemanual

The official Haxe manual

Programming Languages

haxe
709 projects

Projects that are alternatives of or similar to Haxemanual

Dot Hugo Documentation Theme
Dot - Hugo Documentation Theme
Stars: ✭ 162 (-7.95%)
Mutual labels:  documentation
Jenkins.io
A static site for the Jenkins automation server
Stars: ✭ 165 (-6.25%)
Mutual labels:  documentation
Wiki
Wiki.js | A modern and powerful wiki app built on Node.js
Stars: ✭ 14,985 (+8414.2%)
Mutual labels:  documentation
Linux Doc
Linux Documentation 中文翻译计划
Stars: ✭ 163 (-7.39%)
Mutual labels:  documentation
Http2 Explained
A detailed document explaining and documenting HTTP/2, the successor to the widely popular HTTP/1.1 protocol
Stars: ✭ 2,060 (+1070.45%)
Mutual labels:  documentation
Webpack.js.org
Repository for webpack documentation and more!
Stars: ✭ 2,049 (+1064.2%)
Mutual labels:  documentation
Sentry Docs
The new place for the sentry documentation (and tools to build it)
Stars: ✭ 160 (-9.09%)
Mutual labels:  documentation
Try
Try .NET provides developers and content authors with tools to create interactive experiences.
Stars: ✭ 2,271 (+1190.34%)
Mutual labels:  documentation
Vstest Docs
Documentation for the Visual Studio Test Platform.
Stars: ✭ 165 (-6.25%)
Mutual labels:  documentation
Guidelines.spatie.be
The guidelines used at our company
Stars: ✭ 169 (-3.98%)
Mutual labels:  documentation
Vue Styleguidist
Created from react styleguidist for Vue Components with a living style guide
Stars: ✭ 2,133 (+1111.93%)
Mutual labels:  documentation
Flask Sphinx Themes
Sphinx themes for Pallets projects
Stars: ✭ 164 (-6.82%)
Mutual labels:  documentation
C4 Builder
This is a documentation builder. You feed it .md and .puml and it exports a site, pdf, or a markdown with navigation.
Stars: ✭ 164 (-6.82%)
Mutual labels:  documentation
Terraform Docs
Generate documentation from Terraform modules in various output formats
Stars: ✭ 2,483 (+1310.8%)
Mutual labels:  documentation
Dvc.org
🔗 DVC website and documentation
Stars: ✭ 171 (-2.84%)
Mutual labels:  documentation
Bilibiliapidocs
哔哩哔哩开放接口第三方文档(仅提供官方曾公开接口)
Stars: ✭ 2,060 (+1070.45%)
Mutual labels:  documentation
Hippie Swagger
API testing tool with automatic swagger assertions
Stars: ✭ 166 (-5.68%)
Mutual labels:  documentation
Fornax
Scriptable static site generator using type safe F# DSL to define page templates.
Stars: ✭ 175 (-0.57%)
Mutual labels:  documentation
Aiohttp Apispec
Build and document REST APIs with aiohttp and apispec
Stars: ✭ 172 (-2.27%)
Mutual labels:  documentation
Opencore Document Zh hans
[非官方/Unofficial] OpenCore Bootloader 参考手册简体中文翻译
Stars: ✭ 169 (-3.98%)
Mutual labels:  documentation

The Haxe Manual

Build Status

Contributions / Information for authors

For contributions please edit the .md files in content/.

The manual is separated into chapters. Each chapter resides in its own .md file. The syntax is Markdown for the most part, with some special comments mixed in.

Markdown syntax

Standard syntax can be used freely (and in moderation).

Sections and labels

On https://haxe.org/manual, the manual is separated into individual pages. Each page has its own URL and represents a section. Every section has a title and a label. For backward compatibility and flexibility in titles, the label of a section is not directly based on its title.

As an example, the "Property" section has the label class-field-property (which you can see in its URL).

To give a section a label:
<!--label:here-is-the-label-->
## Here is the title

The nesting level of a section depends on the heading level (number of # characters in the title):

  • ## denotes a chapter, only one per .md file
  • ### denotes a section
  • #### denotes a subsection
  • ##### denotes a paragraph (when used without the label tag) or a subsubsection (when used with a label tag)

Links to sections

To reference another section, use the regular Markdown link syntax with the label in place of the URL.

To reference a section:
Please see the [hello world](introduction-hello-world) section.

Haxe code assets (CI-tested)

The Haxe files in the assets/ directory form the majority of the Haxe code samples that are included in the manual. All of these files are automatically tested with Travis CI for all Haxe targets. For the testing procedures and rules, see tests/RunTravis.hx.

On haxe.org, the code samples can be seen included in the sections for a comfortable reading experience. In the .md sources, however, the Haxe files are only referenced with a link to avoid code duplication.

When creating new code assets, please make sure to use haxe-formatter on the file before committing it. The configuration file hxformat.json is provided in the repository.

To include a Haxe code asset:
[code asset](assets/HelloWorld.hx)

The above needs to be on its own line. The code asset text cannot be changed (it is not displayed to the reader anyway).

To include a smaller part of a Haxe code asset:
[code asset](assets/HelloWorld.hx#L2-L4)

The above would only show lines 2 through 4 (inclusive).

Code assets (direct)

Code can also be included in the Markdown content directly. This is convenient for very short snippets, snippets in other languages, or code that is not correct. Where possible, however, please use the CI-tested variant described above.

To include a snippet of Haxe code:
```haxe
trace("Hello, world!");
```
To include a snippet of another language:
```js
console.log("Hello, world!");
```

Code (inline)

Finally, short expressions can be included directly in the text by surrounding the code with backticks.

Flowcharts

Flowcharts are included as svg images:

![](assets/figures/type-system-resolution-order-diagram.svg)

Version information

To indicate that the following information is only true starting from a given Haxe version:
##### since Haxe 4.0.0

Definition

To give a concise definition of a term:
> ##### Define: Some Term
>
> This is the definition of the term.
>
> It can span multiple lines and use other Markdown syntax, too.

Definitions can be referenced from other parts of the manual. Their label is based on the term they describe, e.g. define-some-term for the example above.

Trivia

To give additional information, not crucial to understanding Haxe:
> ##### Trivia: Some Factoid
>
> This is something that is not very important.

Metadata and defines lists

The metadata and define tables are generated automatically from JSON definitions. To update the generated files from the current development branch, simply run haxe generate.hxml in the generate directory (requires curl to be installed and in PATH).

Manual preview

When working on the manual, any Markdown preview (including GitHub renderer) should suffice to show if the text looks correct. To make sure the special Haxe Manual-specific syntax works as expected, please use a local instance of haxe.org. The workflow consists of:

  1. Clone the haxe.org and HaxeManual repositories
  2. Replace the manual directory in haxe.org with a symlink to your local copy of HaxeManual
  3. Start the haxe.org server (haxe start-server.hxml & in the haxe.org repository)
  4. Make changes to the .md files
  5. Run haxe generate.hxml in the haxe.org repository
  6. Check results on localhost:2000, repeat from step 4

You can disable all haxe.org generators except the manual generator in Main.hx to hasten the generation process. A significant speed-up can also be gained by turning off the syntax highlighting.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].