Code Monkey home page Code Monkey logo

haxe.org's Introduction

haxe.org

Build Status Code Climate Issue Count

This is the code base for the https://haxe.org website.

Contributing Content

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.

Adding a blog post

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/.

Issues, bugs and suggestions

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 [email protected]. We'd love your input!

Contributing CSS

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.

Structure

  • The pages content are in pages/, in either html or markdown.
  • The blog posts are in posts/ in markdown, and their images are in www/img/blog/$name/.
  • The release messages for the haxe versions are in releaseNotes/, in markdown.
  • The code is in src/. The generations calls src/Main.hx and the javascript src/Client.hx.
  • The views are in views/ and uses the haxe template syntax with foreach disabled.
  • The static assets are in www/.

Running a local copy for development

The haxe.org website was designed to be easy to generate, to run a local copy follow these steps:

Requirements

Setting up

  • Set up node using nvm:
nvm install 10
npm config set node_gyp $(npm prefix -g)/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js
  • Install the dependencies haxelib install all and npm install in the root directory.
  • Update submodule dependencies git submodule init && git submodule update.
  • Clone the manual into the manual directory with git clone https://github.com/HaxeFoundation/HaxeManual.git manual.
  • Generate the website by running 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/.

Deploying updates

  • Any push or merge to the staging branch will trigger TravisCI to build and deploy to "staging.haxe.org".
  • Any push or merge to the master branch will trigger TravisCI to build and deploy to "haxe.org".

haxe.org's People

Contributors

13pass avatar andyli avatar as3boyan avatar aurel300 avatar beeblerox avatar bigphilcombo avatar confidantcommunications avatar gama11 avatar hasufel avatar ibilon avatar jasononeil avatar jdonaldson avatar klabz avatar lewislepton avatar markknol avatar martijndeb avatar merelleya avatar nadako avatar nbraud avatar ncannasse avatar piotrklibert avatar realyuniquename avatar robinrodricks avatar simn avatar skial avatar teezex avatar tobil4sk avatar tzer0 avatar uvtc avatar vizanto avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

haxe.org's Issues

API Documentation is not for the released version

I'm a newcomer to Haxe and was trying to create a JSGenerator to suit my needs but I found that some API elements listed on the website are not available in the released stable version of Haxe. Namely:

  • JSGenApi.hasFeature() (does not exist in 3.1.3)
  • Context.defined() (does not exist in 3.1.3 but is actually Context.getDefines() in the haxe master branch)

Content for the "Web" use case

If you have any content for the "web" use case page, please leave a comment here.

We are looking for:

  • Testimonials / Quotes: If you have used haxe for creating a website or web-app and it has been awesome, leave a short 1 sentance quote, with your name, company and URL.
  • Showcase: If you have a website you would like included in the showcase, please include the name of your game, an image for the carousel, and a 1 line description.
  • Popular Libraries: If there's a library that is used by a large number of Haxe web developers and we've left it out, let us know.
  • Tutorials: if you have a tutorial, please supply a link, a title, and a 1 line description.

Please note we are not going to guarantee that items posted here will be included.

Once we have enough content we can close this issue.

Content for the "Desktop Apps" use case

If you have any content for the "desktop apps" use case page, please leave a comment here.

We are looking for:

  • Testimonials / Quotes: If you have used haxe for creating desktop apps and it has been awesome, leave a short 1 sentence quote, with your name, company and URL.
  • Showcase: If you have an app you would like included in the showcase, please include the name of your app, an image for the carousel, and a 1 line description.
  • Popular Libraries: If there's a library that is used by a large number of Haxe app developers and we've left it out, let us know.
  • Tutorials: if you have a tutorial, please supply a link, a title, and a 1 line description.

Please note we are not going to guarantee that items posted here will be included.

Once we have enough content we can close this issue.

Avira trojan warning

Email I received:

Hey folks of Haxe,
i just downloaded the latest haxe windows installer but suddenly avira told me, there would be a virus in it. Crypt.Xpack.81397 to be correct.
I then went to the irc and asked some beings there and they gave me a link to older builds to check them and on every installer i picked avira said the same virus would be on.

But the binaries seems to be fine for antvir.
Probably its an antivir issue, but neverthenless people may turn off if they encounter the same issue.

bye
chris

Content for the "CLI" use case

If you have any content for the "command line apps" use case page, please leave a comment here.

We are looking for:

  • Testimonials / Quotes: If you have used haxe for creating command line apps and it has been awesome, leave a short 1 sentence quote, with your name, company and URL.
  • Showcase: If you have an app/tool you would like included in the showcase, please include the name of your app/tool, an image for the carousel, and a 1 line description.
  • Popular Libraries: If there's a library that is used by a large number of Haxe CLI developers and we've left it out, let us know.
  • Tutorials: if you have a tutorial, please supply a link, a title, and a 1 line description.

Please note we are not going to guarantee that items posted here will be included.

Once we have enough content we can close this issue.

Took a look

Hello @ncannasse, I took a look at the proto, and I think it's going in the right direction. My background is in design, and I hope you don't mind a little criticism. (it's kind of what we do).

The first and major piece, is the site branding. I would suggest going with Haxe Foundation for the main header bar, and then let "Haxe, The Cross-platform Toolkit" be the hero like it is now. This is a kind of metaphor that "Haxe is under this foundation, we care for it, and will continue to make sure its great with your help." I think maybe this is why you are still letting the Haxe Foundation section be "TODO" right now. It doesn't belong in the footer, but the very top as the brand, and at the very bottom with the date, copyright, or company citation.

For the navbar, I would suggest this:
{Logo} - Haxe Foundation - Products - Documentation - Get Involved - haxelib

  • {Logo}: link to the home page.
  • Haxe Foundation: Direct link the foundation site, that uses the same navbar, also a dropdown to drill down to specific pages on that site. Maybe the same as the nav on haxe-foundation.org right now, but with About changed to Mission.
  • Products: Direct link to a page devoted to the different parts of the toolkit, also a dropdown to drill down to specific tools (haxe, neko, haxelib, etc.)
  • Documentation: Direct link to Getting Started page, also a dropdown for try.haxe, the haxe API, and more important pages that are all really a form of documentation.
  • Get Involved: This verbiage is very common, but I'm not really sure of it. Maybe Community is still just as good. It is a direct link to a page devoted to the overall haxe community online, including a section for the legacy presence, apps, and other items that will eventually be phased out. Overall it should be a list of links, but the hero of this page should only sell the most important places the core team spends most of their time (Github, Google Group, Google+, IRC, etc.)
  • haxelib: This one is questionable, and may only belong in the Products dropdown, but I believe it is very important for discovery and should be on the main nav. It can just link to the haxelib site, which eventually can be designed with the same navbar and scheme.

The goal here of course is to create a cohesive brand that may be a conglomerate of multiple sites, but are tied together by the navbar.

The Admin item should be moved to the right of the search bar. If this site is going to host users and profiles, this is the location in the navbar that item should remain, and eventually become a dropdown. The search bar can be slightly smaller as well.

For the rest of the content hierarchy, I see what you are going for and agree. Start with high-level, then get to the details. This will make even more sense after removing the foundation section at the bottom, and letting the details finish out the main page.

As for sizing, the navbar is fine, but I would go bigger for the hero section. If the treatment of this section now is meant to be a kind of overlay that sits on top of a hero image, then each item just needs more space between it, making the section bigger of course.


Please feel free to contact me directly if you are interested. If you completely disagree with these comments, I would appreciate more info on the direction you are going for or would prefer. I might even be able to create a mockup.

[manual] need Target-details

This part of manual is empty. Need details for every target:

  1. for targets like Java via hxjava or C++ via hxcpp;
  2. for targets-combos via big frameworks like Lime, (OpenFL), Snõwkit, Kha;

My name is spelled wrong

Congrats on launching the new site!

I noticed that my name is spelled wrong in a few places. It's Jonathan, not Johnathan.

Measuring downloads

We would like to measure the number of downloads, if possible through google analytics, I'm not sure what's the best option for this

Some redirects for SEO

Many Haxe related google searches are pointing to "old.haxe.org/*" addresses. This is probably because I did a blanket redirect for most of the pages on the old site, and any SEO reputation (inbound links etc) is being applied to the redirected URL, even if better content exists on the new site.

I'm going through now and creating some specific redirects from old link addresses to new addresses, for example:

/doc/build -> http://haxe.org/documentation/introduction/building-haxe.html

I'm hoping that over the next few weeks as google trawls all the 3rd party websites and finds links to /doc/build that it will assign that reputation to the new address, rather than the old.haxe.org address.

If anyone has SEO expertise I would appreciate any input / guidance.

Content for the "Games" use case

If you have any content for the "games" use case page, please leave a comment here.

We are looking for:

  • Testimonials / Quotes: If you have used haxe for creating games and it has been awesome, leave a short 1 sentance quote, with your name, company and URL.
  • Showcase: If you have a game you would like included in the showcase, please include the name of your game, an image for the carousel, and a 1 line description.
  • Popular Libraries: If there's a library that is used by a large number of Haxe game developers and we've left it out, let us know.
  • Tutorials: if you have a tutorial, please supply a link, a title, and a 1 line description.

Please note we are not going to guarantee that items posted here will be included.

Once we have enough content we can close this issue.

provide pdf manual on website

it would be great to provide the manual as a downloadable pdf. It would be nice to generate a new pdf link (with date) whenever the manual has changed.

API open in same page

Given that we loose the navigation bar, I think we should open api.haxe.org in another page/tab

Constant URL for latest stable haxe binaries.

Hi,

It would be very useful to have url that always points to the latest stable haxe binaries (a separate one for each platform), so automated scripts (e.g. chef) could get and install it.

I know that http://builds.haxe.org/ has a constant link to latest nightly build, but there is no link to latest stable one.

Thank you

The pages doesn't have metatags

To make the website come up nicely in Google, and be shareable on Facebook/Twitter you should implement at least these metatags (in the <head>)

<title>Already there</title>
<!-- Google -->
<meta name="description" content="Page description. No longer than 155 characters." />

<!-- Twitter card -->
<meta name="twitter:card" value="Page description. No longer than 155 characters.">

<!-- OpenGraph -->
<meta property="og:title" content="Title Here" />
<meta property="og:type" content="article" />
<meta property="og:url" content=" http://www.example.com/" />
<meta property="og:image" content=" http://example.com/logo.jpg" />
<meta property="og:description" content="Page description. No longer than 155 characters." /> 

Don't break pages if invalid Html is used

When importing a page (particularly from the manual) it is possible for there to be invalid HTML (or for markdown to produce invalid HTML).

Currently we parse this as XML on the server, and so when invalid (X)HTML fails to parse, we end up with a blank page.

Because we only manipulate the Xml to make cosmetic changes, a workaround could be to fall back to parsing the broken HTML direct to the browser, which will probably do a reasonable job of displaying it.

Link to nightly builds

I would for the "download" link in the menu to remain a plain button, not a dropdown. So maybe at the top of the download list page?

Contribution tips.

I think we lack a good page on how one can contribute to Haxe, or at least I didn't find one.

I believe it deserves an individual menu item that links to a page listing what can be done i.e.

  • Report issues (a link to https://github.com/HaxeFoundation/haxe/issues, short description on how to create useful issues)
  • Fix existing issues and contribute new code. We currently have a short "buildiing instructions" page, however it doesn't describe stuff like Neko installation and HAXEPATH/HAXE_STD_PATH env variables. A short intro into both OCaml and Haxe code structure would help a lot as well.
  • Write documentation for the code (some style guide would be nice).
  • Write content for the site ("contribute here" links are awesome, also need some info on how to add a new page).
  • Mention "satellite" projects that could use some love, i.e. haxelib, hxcpp, hxcs, hxjava.
  • Anything I forgot?

Avast vs. windows installer

I've heard from several people that there are issues downloading the Haxe Windows installer when avast is running.

improved build instructions

I trying to get the website running locally, but the build instructions seems incomplete. I'm not 100% sure where to apply your tink_core version modification and i'm also getting

src/Tasks.hx:3: characters 7-29 : Class not found : ufront.tasks.UFTaskSet

when running ufront b --debug

Contribute links

Currently we generate contribution links with line numbers on the page. This causes a lot of files to change whenever a line is added or removed from the .tex.

We should instead generate this link during the HTML conversion, using the information from sections.txt.

Github automation for Haxe website

I'd like to work on this over the weekend, but have a few questions re: strategy.

With the manual, we have a Github hook set up so any "push" event will get the site to pull down the latest markdown content, convert it to HTML, and keep a copy for any requests to /manual/*

For the site, I do not want to fully automate this, as we have a mix of content and code/design - sometimes we may want to merge a pull request but preview it before going live.

I propose:

  • Having two branches, "master" and "staging".
  • Any pull requests which are simple content changes go to "master"
  • Any pull requests which involve changing code or stylesheets go to "staging"
  • Github links "master" with the live site, so a push/merge on master will trigger an update of the live site.
  • Github links "staging" with staging.haxe.org (or similar) and we can preview changes there after a push/merge to the staging branch.
  • If we like what we see on staging, we merge into master.

Does this sound like an acceptable workflow?

cc @ncannasse @Simn

Code examples in try.haxe.org

I copy/pasted some code examples to try.haxe.org, maybe we can create some "try it yourself"-buttons in the manual to it, so people can play around with it?

http://haxe.org/manual/lf-pattern-matching-enums.html
http://try.haxe.org/#F3bdC

http://haxe.org/manual/lf-pattern-matching-variable-capture.html

  1. http://try.haxe.org/#e0769
  2. http://try.haxe.org/#6cDE8

http://haxe.org/manual/lf-pattern-matching-structure.html
http://try.haxe.org/#45a59

http://haxe.org/manual/lf-pattern-matching-array.html
http://try.haxe.org/#Ad79A

http://haxe.org/manual/lf-pattern-matching-or.html
http://try.haxe.org/#C6DB8

http://haxe.org/manual/lf-pattern-matching-guards.html
http://try.haxe.org/#56dac

http://haxe.org/manual/lf-pattern-matching-tuples.html
http://try.haxe.org/#75b88

http://haxe.org/manual/lf-pattern-matching-extractors.html
1 http://try.haxe.org/#0dBb3
2 http://try.haxe.org/#cF0d6
3 http://try.haxe.org/#0A434

http://haxe.org/manual/lf-pattern-matching-introduction.html
http://try.haxe.org/#0d550 (btw does not give the error "This pattern is unused")

http://haxe.org/manual/lf-condition-compilation.html
http://try.haxe.org/#Aa2D7
http://haxe.org/manual/lf-access-control.html
example 1 http://try.haxe.org/#bc3D0
example 2 http://try.haxe.org/#c6a3c

http://haxe.org/manual/lf-metadata.html
http://try.haxe.org/#41Dc3 (does not seem to trace all values btw)

http://haxe.org/manual/lf-function-bindings.html
http://try.haxe.org/#a3D77

http://haxe.org/manual/lf-iterators.html :
example 1 http://try.haxe.org/#a658A
example 2 http://try.haxe.org/#2fAab

http://haxe.org/manual/lf-array-comprehension.html
example 1 http://try.haxe.org/#B70AD
example 2 http://try.haxe.org/#fbF84

http://haxe.org/manual/lf-string-interpolation.html :
http://try.haxe.org/#1fd11

http://haxe.org/manual/lf-static-extension-in-std.html :
http://try.haxe.org/#1fd11

http://haxe.org/manual/lf-static-extension.html :
http://try.haxe.org/#9098E

Content for the "Mobile Apps" use case

If you have any content for the "mobile" use case page, please leave a comment here.

We are looking for:

  • Testimonials / Quotes: If you have used haxe for creating mobile apps and it has been awesome, leave a short 1 sentence quote, with your name, company and URL.
  • Showcase: If you have an app you would like included in the showcase, please include the name of your app, an image for the carousel, and a 1 line description.
  • Popular Libraries: If there's a library that is used by a large number of Haxe app developers and we've left it out, let us know.
  • Tutorials: if you have a tutorial, please supply a link, a title, and a 1 line description.

Please note we are not going to guarantee that items posted here will be included.

Once we have enough content we can close this issue.

A taste of Haxe doesnt look very sweet

On the main page, the A taste of Haxe section looks quite bad (at least for me):
screenshot

IIRC this was different, i.e. shorters tabs and syntax highlighting.

Click for dropdown

Having a click to open the dropdown menus for the site nav is a very clumsy interaction. Please change this to hover. And allow a click to propagate to the first item in the dropdown. Just to make sure It's not really a question of supporting touch devices either, it should be on hover for desktop, and remain on tap for devices.

Nightly builds links.

It may be useful to provide links to nightly builds on the downloads page or some dedicated page.

Content for the "Cross Platform APIs" use case

If you have any content for the "cross platform APIs" use case page, please leave a comment here.

We are looking for:

  • Testimonials / Quotes: If you have used haxe for creating cross platform APIs and it has been awesome, leave a short 1 sentence quote, with your name, company and URL.
  • Showcase: If you have an API example you would like included in the showcase, please include the name of your API, an image for the carousel, and a 1 line description.
  • Popular Libraries: If there's a library that is used by a large number of Haxe app developers and we've left it out, let us know.
  • Tutorials: if you have a tutorial, please supply a link, a title, and a 1 line description.

Please note we are not going to guarantee that items posted here will be included.

Once we have enough content we can close this issue.

404 on homepage

On the home "Read more about our Paid Support Plans, help support Haxe development by donating to the Haxe Foundation"

Support and Donate are going to / instead /foundation

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.