Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Basic Getting Started Documentation #122

Closed
wants to merge 13 commits into from

Conversation

hutchgrant
Copy link
Member

@hutchgrant hutchgrant commented Jul 12, 2019

Related Issue

Resolves #98

Summary of Changes

  • Overview getting started
  • System requirements
  • Installing
  • Project Structure
  • Development
  • Creating Pages
  • Configuration
  • Custom Page Template
  • Custom App Template
  • Building for Production

This is a WIP.

@thescientist13 thescientist13 added the website Tasks related to the projects website / documentation label Jul 13, 2019
Copy link
Member

@thescientist13 thescientist13 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, really good start! And the markdown rendering looks 👌 💯

To install greenwood you'll need all the [prerequisites](/getting-started/system-requirements) preinstalled. Then you can simply clone the repository:

```render bash
git clone https://github.com/ProjectEvergreen/greenwood
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can anticipate that developers will be able to use npm/yarn to install Greenwood.


Your project will generally have a structure like this:
```render shell
├── src
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we include an greenwood.config.js?

You can compile your static site in development mode using:

```render bash
yarn develop
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, maybe we need to discuss final packaging, so we can make sure we have the right instructions. Might be worth chatting some more on the weekly call.

"items": []
},
{
"index": 6,
"name": "Configuration",
"items": []
"path": "/getting-started/configuration",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe configuration can come before development? If reading top -> bottom, configuration is mentioned in Development section. Just a though.

Copy link
Member

@thescientist13 thescientist13 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple other thoughts I had for this (again understanding it is still WIP) were

Conveying the Narrative

Since we will have a dedicated section for all the technical stuff like page and app templates, configuration, etc in the Docs page, let's use this section to be as familiar and accessible with the reader as possible in regards to general Greenwood usage. The hope being that this page stays high level and focused on just one thing; helping a user install greenwood, author a couple pages, develop with it, build it, and host it.

We can always link to appropriate Docs section where possible, but ideally a user should be able to create a site without needing configuration per se.

As for that narrative, I guess a blog is probably a good use case to capture since it's certainly the target audience I think we're trying to capture. I think this goes hand in hand with....

Goals and Objectives

Adding clear goals will be helpful for keeping focus / scope on our end and setting expectations for the user / reader; a guided walkthrough that (hopefully) requires the least amount of Greenwood specific knowledge as possible.

Keeping with the blog example:

This guide will help you get started using Greenwood for your own blog using markdown. Through the course of this guide you will learn how to:

  1. Install Greenwood
  2. Developing with Greenwood
  3. Create a home page for your site
  4. Author some blog posts in markdown
  5. Style your site
  6. Hosting and deploying

By the end of this guide you will have a Greenwood project with some markdown based blog posts that you will be able develop with locally as well as build and host on any web server!

In essence the reader would go from nothing to something like this:

src/
  pages/
    index.md
    blog/
      <YYYY-MM-DD>
        index.md
  styles/
    theme.css
  template
    page-template.js
    blog-template.js

Anyway, just some additional thoughts to keep in mind.

Copy link
Member

@thescientist13 thescientist13 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From our last meeting, our discussion around content yielded two action items related to this work:

  1. re-appropriate this content for the API Docs issue in a new PR (As a user I would like an (API) Documentation page for the project #20 ), by @hutchgrant
  2. Adopt a more narrative / guided experience for this particular content, by @thescientist13

The take away being that Getting Started should ideally provided a concrete flow and set of steps for first time user. Start from nothing, and end up with a basic site (blog?) with the minImum amount of Greenwood specific knowledge possible. (K.I.S.S.). The docs can be linked to appropriately to allow further investigation on a particular topic, but otherwise, Getting Started should be

  • Welcoming
  • Assume no / limited knowledge outside usage of npm , NodeJS, and simple command line
  • Have a clear goal / outcome. The goal here shouldn't be to show off everything Greenwood can do, but instead how quickly you can get up and running without any prior knowledge and if anything, how little you even need to know of Greenwood. (e.g. create some folder, write some markdown, run a command, 💥 )

So will close this PR for now but the branch can / should definitely be used in both of these new approaches since the content here is valuable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Greenwood specific docs website Tasks related to the projects website / documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

As a user I would like Getting Started documentation for using Greenwood and basic workflows
2 participants