Skip to content

thesignalteam/website

Repository files navigation

thesignal-alpha

Code and Docker environment for the revamped The Signal.
Complete Mockup: https://www.figma.com/file/P298oBsLwlSv8wUcAgOvNXvb/The-Signal---Mockup

IDE

WebStorm from JetBrains is highly recommended. You can get a student license for free.

Architecture

The Sign.al website runs on Ghost, a open-sourced blogging platform based on Node.js.

Setting Up The Environment

To start the Ghost CMS on your local machine,

  1. Download and install Docker if you haven't already.
  2. To get a local copy of the repository and the submodules, run git submodule update --init --recursive.
  3. Open your terminal and cd into the current directory.
  4. Run docker-compose pull to get the Docker image of Ghost (1.20.3) and Nginx (1.13.8).
  5. Run docker-compose up -d to start Ghost.
  6. Ghost will be running at http://localhost:4001.
  7. Nginx will be running at http://localhost:4002. This is a static server of files under styles.
  8. When you're done, run docker-compose down to shut down the local server.

Running on Windows

  1. Disable Hyper-V.
  2. Run with Docker Quickstart Terminal.
  3. Replace localhost with result from docker-machine ip.

Development

Feel free to play around with the production environment. Any change you make will not affect the actual thesign.al site, but note that:

  1. Development happens inside the src folder. If you make changes to files in the src folder, they should be automatically reflected on your local Ghost server.
  2. HTML mockups and stylesheets are in the mockups folder. This should make it easier for you to debug frontend elements without interacting with the database. File changes are automatically reflected as well.
  3. If for some weird reason you need to restart Ghost or Nginx, run docker-compose restart.
  4. The test environment has been filled with some articles and contents on thesign.al, though my differ from the main site.
  5. To log into the content panel of Ghost, go to http://localhost:4001/ghost. Log in with credentials from submodule private/credentials.md. For security reasons, accounts for the main thesign.al production server will be separate from the testing environment.
  6. Note: the Ghost SQLite database is part of the repository. Changes made through the panel WILL be committed through git by default, and thus available for other team members.

Testing And Deployment

Logs from your local server are at logs. Testing server is available at http://alpha.thesign.al. Contact Bill if you need file or shell access.

Style Manual

  • Run docker-compose run manual-builder new (some-category)/(some-component) to add a new component.
  • Run docker-compose run manual-builder update to rebuild.
  • For more commands, check out the references for Astrum.

Building Docker for Astrum

docker build -t (docker-hub-handle)/astrum ./style/manual then push docker push (docker-hub-handle)/astrum

Behind The Scenes

The docker environment is composed from the official Ghost image. Database, image and configurations inside the container is mapped to this working directory on the host machine through volumes.

Production

TBD

Copyright and Copyleft

GNU General Public License v3.0. I know this is very mean. We'll look into licenses later.

Links

Work Session time -- when2meet
Web Redesign -- Things to do
Directory -- Update