The website and mobile app for the book "Hello, Startup" by Yevgeniy Brikman
This is the website and mobile app for Hello, Startup: A Programmer's Guide to Building Products, Technologies, and Teams, an O'Reilly book by Yevgeniy Brikman.
npm start
The grunt
command runs grunt watch
, which will watch for changes in the
background and recompile everything as necessary. Jekyll is a bit slow, so it
can take ~5 seconds for your changes to be visible.
As an alternative to installing Ruby, Jekyll, and Grunt, if you're a user of Docker, you can run a Docker image of hello-startup-site that has all the dependencies already setup for you.
git clone
this repodocker-compose up
http://localhost:4000
to test_layouts
, _includes
, _resources
, and _data
.The Startup Resources are generated
from YAML data files in the _data
folder (see the
Jekyll Data Files documentation for
more info). These resources are a work in progress and I welcome contributions
via pull request.
Each YAML file contains the information for one type of resource. For example,
deployment.yml
contains all the resources related to deploying code.
The basic format is:
name: "Name for this resource"
description: "Brief description of this resource."
icon: "The name of one of the Font Awesome icons to represent this resource."
type: "one of: products, technologies, or teams"
categories:
- id: "a-unique-id-for-this-category"
name: "Human readable name for the category"
sites: # List of websites for this category
- name: "Website #1"
url: "https://www.website-number-one.com/"
image: "screenshot1.jpg" # 800x400 screenshot under images/resources
description: "A brief description of website #1"
- name: "Website #2"
url: "https://www.website-number-two.com/"
image: "screenshot2.jpg" # 800x400 screenshot under images/resources
description: "A brief description of website #2"
See the _data
folder for lots of examples.
Note: mobile app development has been put on pause and may not work any more
grunt
as explained in the "Running the website" instructions. This will
assemble all of the HTML.mobile
folder (which has config.xml
).Both PhoneGap and Jekyll require a specific folder structure, and those are not mutually compatible. To make this all work using the same content in the same repo, I've used a bit of a hack with symlinks:
config.xml
and index.html
are in the mobile
folder._includes
, _layouts
,
javascripts
, stylesheets
). All of these files get compiled into the normal
Jekyll output folder (_site
).mobile/www
folder to _site
. Therefore, if
you point PhoneGap at the mobile
folder, it will see the folder structure
it expects._site
is normally generated by the Jekyll build process, you don't
usually check it in. However, I had to in this case, or the symlinks won't
work, which causes an error when GitHub Pages tries to build the site.
Therefore, I've checked in a few placeholder files that ensure the folders
we symlink to exist.