The Project Gutenberg Web site, database, and other internals
 
 
 
 
Go to file
Gutenberg back end service account 16dcd224c5 We are using our own copies of images, rather than loading them from 3rd party sites.
Stuff that is part of Project Gutenberg (i.e., our own items) are in the gutenberg/ folder. Stuff that is from elsewhere is in the pics/ folder.
2020-01-01 17:21:11 -05:00
_includes Numerous changes and updates to site content, layout, menu, structure. 2020-01-01 12:51:55 -05:00
_layouts Some header/footer changes to allow for latest books insertion via the cron-dopush.sh script (which is elsewhere). 2019-12-26 01:28:36 -05:00
ebooks Numerous page updates, movement, and architecture changes. 2019-12-30 17:03:16 -05:00
gutenberg We are using our own copies of images, rather than loading them from 3rd party sites. 2020-01-01 17:21:11 -05:00
pics We are using our own copies of images, rather than loading them from 3rd party sites. 2020-01-01 17:21:11 -05:00
site We are using our own copies of images, rather than loading them from 3rd party sites. 2020-01-01 17:21:11 -05:00
.gitignore Further mass updates and relocations of items. 2019-12-31 12:20:22 -05:00
Gemfile Populating site files with initial commit. 2019-08-18 13:17:16 -04:00
Gemfile.lock Populating site files with initial commit. 2019-08-18 13:17:16 -04:00
LICENSE Initial commit 2018-10-08 19:34:01 -04:00
README.md Populating site files with initial commit. 2019-08-18 13:17:16 -04:00
_config.yml Numerous changes and updates to site content, layout, menu, structure. 2020-01-01 12:51:55 -05:00

README.md

gutenbergsite

The Project Gutenberg Web site, database, and other internals

This is the source which is used to build the site. It is managed by git in a repository at https://github.com/gbnewby/gutenbergsite

An ssh key is needed to enable pulls or commits, but any user logged into github may send pull requests.

*** On the Project Gutenberg site, use the designated username to edit files and generate the site. ***

The basic setup is: $BASEDIR is the path where we maintain the site. $BASEDIR/gutenbergsite is the git-maintained content $BASEDIR/html is the path on the server that the webserver uses as its DOCUMENT ROOT.

We use Jekyll to convert pages from github-flavored markdown to HTML, applying our styles.

Most pages for the live site (i.e., under $BASEDIR/html) should exist under $BASEDIR/gutenbergsite. Any exceptions will be noted in $BASEDIR/gutenbergsite/_config.yml (the Jekyll configuration file).

To update the git-maintained content and push to the live site: cd $BASEDIR/gutenbergsite jekyll build --verbose (--verbose is optional)

Any changes to files under gutenbergsite should be checked in via git. For example, git add FILENAME (for newly created files only) git commit (give an informative commit log message) git push

Similarly, any changes made via github.com should be pulled to $BASEDIR/gutenbergsite: cd $BASEDIR/gutenbergsite git pull

Pages that will be converted from markdown to HTML (and have our header/footer added) are in $BASEDIR/gutenbergsite/site

To make it easier to track where things are, we use the same structure and filenames as the live site. For example, site/about/index.md will correspond to about/index.html for the live site. However, the actual filename and path is in the .md file (the first lines at the top): Jekyll does not build the directory structure you use, instead it follows the metadata at the top of the md files.

Content that should be copied as-is to the live site is put at the the top-level of $BASEDIR/gutenbergsite. For example, we have a directory "catalog" for the catalog interface, and "gutenberg" for the site assets (css and pictures).

Use the "keep_files" variable in Jekyll's _config.yml for anything that is not part of the gutenbergsite repo but is maintained separately in $BASEDIR/html. This includes symlinks. Anything with usernames, passwords, codes, or other private information should not be added to the gutenbergsite repo.