{"action":"created","issue":{"url":"https://api.github.com/repos/nwjs/website/issues/16","labels_url":"https://api.github.com/repos/nwjs/website/issues/16/labels{/name}","comments_url":"https://api.github.com/repos/nwjs/website/issues/16/comments","events_url":"https://api.github.com/repos/nwjs/website/issues/16/events","html_url":"https://github.com/nwjs/website/pull/16","id":124276259,"number":16,"title":"Complete overhaul of the new site","user":{"login":"TheJaredWilcurt","id":4629794,"avatar_url":"https://avatars.githubusercontent.com/u/4629794?v=3","gravatar_id":"","url":"https://api.github.com/users/TheJaredWilcurt","html_url":"https://github.com/TheJaredWilcurt","followers_url":"https://api.github.com/users/TheJaredWilcurt/followers","following_url":"https://api.github.com/users/TheJaredWilcurt/following{/other_user}","gists_url":"https://api.github.com/users/TheJaredWilcurt/gists{/gist_id}","starred_url":"https://api.github.com/users/TheJaredWilcurt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TheJaredWilcurt/subscriptions","organizations_url":"https://api.github.com/users/TheJaredWilcurt/orgs","repos_url":"https://api.github.com/users/TheJaredWilcurt/repos","events_url":"https://api.github.com/users/TheJaredWilcurt/events{/privacy}","received_events_url":"https://api.github.com/users/TheJaredWilcurt/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-12-29T22:19:31Z","updated_at":"2016-01-08T04:24:45Z","closed_at":"2016-01-05T02:11:13Z","pull_request":{"url":"https://api.github.com/repos/nwjs/website/pulls/16","html_url":"https://github.com/nwjs/website/pull/16","diff_url":"https://github.com/nwjs/website/pull/16.diff","patch_url":"https://github.com/nwjs/website/pull/16.patch"},"body":"## Complete overhaul of the new site.\r\n\r\n**NOTE:** *This version of the site is following the MVP principal* **(Minimal Viable Product).** *As such, the goal is to have a functioning, easy to update, but lightweight version that is updated and improved often.*\r\n\r\nA live demo of the new version can be seen here:\r\n\r\n* **[TheJaredWilcurt.github.io/website](http://TheJaredWilcurt.github.io/website)**\r\n\r\nIt is based off of a previous branch's design by [Daniel Cohen](https://github.com/dcohenb), the architecture and organization has been heavily modified and improved.\r\n\r\n* * *\r\n\r\n### Features of this new version:\r\n\r\n* **GitHub.io hosting:**\r\n * This is important as it means that it this is a static website that can be updated directly on the GitHub website, allowing easier contributions from the community and no server maintanence.\r\n * I would ***highly*** suggest renaming the repo from `website` to the [official GitHub standard](https://help.github.com/articles/user-organization-and-project-pages/) `nwjs.github.io`. Followed by adding a `CNAME` file to the root of the repo to allow nwjs.io to [point to it properly](https://help.github.com/articles/setting-up-a-custom-domain-with-github-pages).\r\n* **Dynamic content:**\r\n * The `api.json` file is a large JSON payload of the main versions of Node-Webkit and NW.js, including links to the downloads. Not only is this used by this website, but others could use it in their apps and sites as well.\r\n * The `config.json` file is a small JSON payload with specific information about the current recommended stable release of NW.js.\r\n* **Modular content:**\r\n * The content for the **header** and **footer** that is used on every page are stored in the `_markup` folder. They are dynamically placed on page load so we only need to update this content in one location.\r\n * The content for the Quick Start page is stored as an easily editable markdown file. Other pages can have their content stored in this manner as well.\r\n* **Navigation:**\r\n * The main navigation has been slimmed down to a more realistic set of pages. Home, Quickstart, Download, and Documentation. The Documentation currently links to the wiki, as it is the best resource, however we may be able to dynamically pull in the Wiki's content using GitHub's API in the future. I don't deem this MVP though being that the wiki works well enough for now. I removed the Blog from the navigation, as there is no blog currently, for NW.js. If someone wants to step up and be the author of one, we can implement a solution for that (there are several options). But for now, I'm assuming this is a feature that can be left to the Google Group. Though I'm not against having a prettier way of disseminating this information.\r\n * The footer navigation has also been updated to have more relavent content that links to appropriate locations, rather than the placeholders that were there initially in the design.\r\n* **Responsive:**\r\n * All pages have had their CSS altered to allow for better displaying on smaller screens, such as phones.\r\n* **404 and Simple URL Routing**:\r\n * There is now a 404 page that has a simple routing system built in that detects similar URLs that users may put in and auto-forwards them to the correct page. So URLs like `nwjs.io/dl` or `nwjs.io/downloads` will. automatically take you to `nwjs.io/download.html`.\r\n* **Home:**\r\n * The homepage now pulls in the information from `config.json` to display links and information about the latest release.\r\n * We could easily detect what OS and Architecture (32/64) on the homepage as well and make the download button specific to the user.\r\n* **Download:**\r\n * The download page will consume the `api.json` file to display an archive of download links for all major past versions.\r\n * It will also check against the `config.json` file to know what the current recommended release is.\r\n * On page load we detect your OS and architecture and automatically display the correct ( Windows | Linux | OSX ) and ( 32-bit | 64-bit ) selection depending on what your browser reports.\r\n* **Quick Start:**\r\n * The quick start page has the original instructions that are useful for manually setting up your environment. It also has instructions for using `npm install`. These second instructions will work for all OS's identically.\r\n * There is a filter to switch between these two options.\r\n * They are stored in easy to maintain markdown files, as the rendered DOM produces very ugly markup due to the code highlighting.\r\n* **Privacy:** A privacy page has been created with basic information that privacy conscious users may care about.\r\n\r\n* * *\r\n\r\n### Improvements for future versions\r\n\r\n* Once hooked up properly using a CNAME and proper repo naming convention, the pages can be altered to use root level linking of files which will fix some fringe cases on the 404 router.\r\n* Adding additional pages like:\r\n * \"Showcase\" or \"Spotlight\" to show apps that have been made with NW.js\r\n * \"Tutorials\" or \"References\" for links to NW.js specific videos, blogs, books, libraries, and frameworks.\r\n * \"About\" page. A few paragraphs about the people working on the project.\r\n * \"History\" page. A full history of the project, how it started and all the changes it's gone through along the way.\r\n * Hosted documentation. Rather than linking directly to the GitHub Wiki. We could put the most important FAQ's on the site, or find a way to use GitHub's API to pull in the wiki content and put it on the site dynamically.\r\n* Explainer Video. This may do wonders to highlight exactly what NW.js is and how it's used for people who are coming to the site and just hearing about the project.\r\n* Redesign of the Features section on the homepage. This area just feels like it could be improved.\r\n* Redesign of the downloads sections of the homepage to highlight and focus on the download that is relevent to the user.\r\n* Abstract out all English language text to a JSON file that is used to replace keywords in the markup with their approriate text. Then use that JSON file as a base for other translations.\r\n* An automated build system could be put in place using Grunt or Gulp that would concat, minify, and uglify our javascript into one file.\r\n* An automated way of generating the `api.json` file could be investigated to allow for faster updates that are less prone to error.\r\n* Whoever created the original graphics work (presumably Daniel Cohen), could upload the source files (PSD/AI) to the design folder of the project to allow for better optimized artwork on the site."},"comment":{"url":"https://api.github.com/repos/nwjs/website/issues/comments/169889888","html_url":"https://github.com/nwjs/website/pull/16#issuecomment-169889888","issue_url":"https://api.github.com/repos/nwjs/website/issues/16","id":169889888,"user":{"login":"TheJaredWilcurt","id":4629794,"avatar_url":"https://avatars.githubusercontent.com/u/4629794?v=3","gravatar_id":"","url":"https://api.github.com/users/TheJaredWilcurt","html_url":"https://github.com/TheJaredWilcurt","followers_url":"https://api.github.com/users/TheJaredWilcurt/followers","following_url":"https://api.github.com/users/TheJaredWilcurt/following{/other_user}","gists_url":"https://api.github.com/users/TheJaredWilcurt/gists{/gist_id}","starred_url":"https://api.github.com/users/TheJaredWilcurt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TheJaredWilcurt/subscriptions","organizations_url":"https://api.github.com/users/TheJaredWilcurt/orgs","repos_url":"https://api.github.com/users/TheJaredWilcurt/repos","events_url":"https://api.github.com/users/TheJaredWilcurt/events{/privacy}","received_events_url":"https://api.github.com/users/TheJaredWilcurt/received_events","type":"User","site_admin":false},"created_at":"2016-01-08T04:24:45Z","updated_at":"2016-01-08T04:24:45Z","body":"@rogerwang @ghostoy \r\n\r\nBecause of MetalSmith requiring a newer version of Node.js, I can't work on this site on my work laptop. My job has a very specific development environment that requires an older version of Node.js. I don't have time to waste trying to set up another NVM knockoff for Windows. All it does is screw up my dev environment that I need to use for work and I end up wasting half a day trying to fix it. I'm rarely at home, and my home desktop is the only computer I have capable of running your site in it's current state.\r\n\r\nI see absolutely no benefit in using MetalSmith. It looks as though the only reason it was picked is because Node uses it. If you are contributing to Node, it's not unreasonable to expect contributors to use the latest version of it. But if you are running *any other open source project*, placing arbitrary limitations and using more obscure technology only serves to limit the amount of people who want to help from being able to.\r\n\r\nThis is detrimental and cuts off willing contributors like myself. **In the same amount of days that it took me to redo the entire website, I've been able to change the [spacing in a few files](https://github.com/nwjs/website/pull/19)**. Whoop-de-doo. I don't have time to sit at home and work on the one computer I have access to with Node 5 to redo your whole website again. If I could do this on my laptop during my downtime your site would be getting a lot more pull requests for bug fixes and improvements.\r\n\r\nI'm fine working with React, but again, this also seems like unnecessary additional levels of abstraction on a site that is too small and simple to justify a need for it.\r\n\r\nI can see a purpose for hosting the site on your own server based on the docs subdomain. I can see a benefit for using Sass. But I've yet to see any compelling reason to use MetalSmith or React. Can someone defend these choices? Other than \"I just wanted to make a site using React\", or \"That other site did it so it must be good\". Are these up for debate? Because if not, I don't know if I'll be of much help. I want to help, please don't use technology that prevents me from being able to. I've been trying to work around it, but finding it incredibly difficult."}}