MarcusWichelmann / mvp

Minimum Viable Product for our website

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The New elementary.io

We're focusing on getting the minimum viable product for our website up and running for the release of Freya. To start, we're just getting a single-page download site ready for Freya. From there we will expand to a small number of pages as needed. We'll want to make sure we migrate over any important information like docs before we can take the old site offline.

Project Organization

  • Issues for individual actionable items, or bugs i.e.:
    • Design home page
    • Implement home page
    • Add payment form
    • Fix link to Wired article
  • Milestones for "releases" or overall steps, i.e.:
    • Single-page site
    • User Documentation
    • Journal
  • Reviews Do all work in branches, then submit pull requests for review when ready
    • No dummy content in master, ever.
    • small diff is best diff
    • The reviewer is the gatekeeper. Be kind of a dick.

Architecture/Philosophies

  • HTML, CSS, and JS
  • Super simple PHP-based templating system
  • No/minimal frameworks (keep it simple!)
  • Graceful degradation (don't be held back by crappy browsers)
  • Mobile-first

Templating System

  • PHP-based
  • Pages go in root as .php files
  • Include _templates/sitewide.php, set any variables, then include $template['header']; (see code-of-conduct for an example) at top of page.
  • include $template['footer']; at bottom of page.
  • Page variables:
    • $page['title']
    • $page['description']
    • $page['author']

Code Style

It's important we keep the code style consistent across collaborators and editors. We are following the official elementary code style guidelines for this project.

For quick reference:

  • 4 spaces for indentation (no tabs)
  • Comma-separated CSS rules on separate lines
  • Strip extra whitespace (on blank lines and ends of lines)

Simple Local Development

For a simple local development environment, you will need:

  • PHP5.4+

Then inside the project directory, run php -S localhost:8000 router.php. Next, just navigate to http://localhost:8000/ to view the site.

Contributing

See guidelines for coding and translating.

About

Minimum Viable Product for our website


Languages

Language:PHP 72.4%Language:CSS 16.3%Language:JavaScript 11.1%Language:Nginx 0.2%