Table of Contents |
---|
Interim Plan For Site Maintenance
Reasoning
Until we have tools selected and a process for editing the site, we need to limit patterns or idiom leak, the number of people editing the site, and the amount of new content moved into the site. This section is to have at least some interim process. This process can be hashed out in a series of email threads and votes on the Apache NetBeans (Incubating) dev list.
Process
TBD
Site Generation/Build Tools
Reasoning
Why would we want a site generation/build tool versus statically maintaining a site? Branding and time. Imagine we had to edit X number of files to replace a footer or header versus editing a single file. What if we had to edit X pages just to replace the site logo? This would be horribly time consuming, and as we grow here at Apache, will become great overhead impacting accuracy and possibly releases.
The purpose of this section is to enumerate criteria for tool selection, enumerate some tools matching the criteria on the surface, and then research those tools to see how easy they are to use, as well as how well they work, and how and if we can integrate them into Apache processes and automation.
A good starting point are the various git site repositories located and found at this url https://github.com/apache?utf8=true&q=site where we can research how their sites are built. If anyone knows of some tool they believe works wonderfully for this, then please add them to the list.
Tool Selection Criteria
This criteria should be sorted out on the Apache NetBeans (Incubating) dev mailing list as a series of threads and votes.
TBD
Possible Tools
Other Apache projects use build tools. The Groovy project built their own some time ago. There are static site tool projects which use other Apache projects such as Groovy and FreeMarker with JBake being such an example, and hopefully one of these will work for our needs, to promote the Apache tools, and can be the first attempt at a successful static site generation project for NetBeans.
There are also other tools which use Ruby, Python, or Node JS. Various tools have been reviewed, and do quite similar things. If a Java tool such as JBake which uses or allows the use of different Apache projects can not be used, then perhaps one of those can be used, and in that case we should consider a Node JS build tool as the browser front end market and developers have been using Node JS stacks more frequently, and perhaps would be closer to the problem in this case.
Possible and Reviewed Tools
As mentioned in the reasoning, there were various reviewed tools built on different stacks such as Java, Ruby, Node JS, and Python. In the process of this work, rolling our own generator was not considered, but could certainly be considered and reviewed. All reviewed tools market themselves as Static Site Generators, and was the main criterion used to determine if a project should be reviewed, along with having an Apache approved OSS license. These include:
JBake (Java based)
Jekyll (Ruby based)
Metalsmith (Node JS)
Wintersmith (Node JS)
TBD
Envisioned Generated Site Layout
...