Skip to content

Repository contents

Nathan Carter edited this page Jun 12, 2023 · 2 revisions

What's in the source code repository? Here's a quick tour of the contents of the main folder:

Legend

  • πŸ‘ A file or folder you may safely edit
  • ❌ A file or folder you never (or almost never) need to edit

Subfolders of the main folder

  • ❌ .devcontainer folder: contains configuration files for the development container, for those who choose to use it
  • ❌ .vscode folder: contains configuration files for automating the building of the website using VS Code tasks
  • πŸ‘ database folder: where all user submitted content lives
    • ❌ static folder: simple pages and templates that are used to construct the bones of the site
    • πŸ‘ tasks folder: where almost everything in the database lives, including all "How to..." folders, with their descriptions and all solutions inside. When you rebuild the site, content from here generates content in the docs folder described below.
    • πŸ‘ topics folder: one markdown file for each topic, defining how that topic appears on the site, including links to all of its tasks
    • ❌ database.yml file: a configuration file documented in the README file in the same folder (almost never needs to change)
  • ❌ docs folder: where the website goes after it's been built. (If you were to edit any file in here, your changes would be overridden the next time anyone rebuilds the site! So don't do that.)
  • ❌ jekyll-input folder: an intermediate step in the website's build process, which includes assets such as .js and .css files

Files in the main folder

  • Many .py files in the main folder contain the code that builds the website and runs the control panel.
  • A few .sh files in the main folder contain scripts that correspond to the VS Code tasks mentioned above.
  • The CNAME file is necessary for managing the how-to-data.org domain name.
  • The Gemfile and Gemfile.lock files list the Ruby libraries needed by our website building tool, Jekyll.
  • Various files that start with pandoc are configuration files customize document conversions (e.g., PDF generation).