Skip to content

Latest commit

 

History

History
82 lines (56 loc) · 6.05 KB

CONTRIBUTING.md

File metadata and controls

82 lines (56 loc) · 6.05 KB

Contribution Guide

Thank you for your interest in contributing to the Open Buddhist University!

If you're looking to report a problem or propose a change, feel free to simply create an issue or open a Pull Request.

If you'd like to get more involved, but aren't sure where to begin, some project ideas are listed on the issues page. Feel free to email me if you have any questions!

For an introduction to the codebase, read on:

Table of Contents

The Code

OBU is a static HTML website built with Jekyll and served by GitHub Pages.

Running the site locally

To run the site locally:

Install Node, Ruby, and Bundler. Then run:

git clone https://github.com/buddhist-uni/buddhist-uni.github.io.git
cd buddhist-uni.github.io
npm ci
bash scripts/install-deps.bash
bundle install
bundle exec jekyll serve -tI

Note that you can add the --config _config.yml,_quick_build.yml build flag to jekyll serve for a faster, but partial build of the site.

For more information on the build options, see the Jekyll docs and for the production build script, see build.yaml.

The Source Code

For this section of the guide, we'll walk through OBU's source tree.

You can think of each of the _folders in the source code as representing individual object types. Each folder is a different "table" in a hardcoded "database":

  • _authors - Each author with their own page.
  • _content - All of the individual works in the library, divided by category based on the type. Each content item has a number of metadata fields listing its bibliographic information (e.g. pages). The site templates use this information to render the HTML pages of the website.
  • _categories - This folder houses the index.html pages for the /content/* folders and contains a little metadata about the categories, such as their English titles.
  • _courses - The University's courses.
  • _data - Site configuration variables.
  • _drafts - Unpublished courses or tags.
  • _includes - A Jekyll folder which houses the site's reusable UI components.
  • _journals - Periodicals which get their own page.
  • _layouts houses the html page templates.
  • _plugins is not a collection but rather contains native Ruby extensions for quickly running complex algorithms or for dynamically generating content.
  • _posts are the blog posts which make up the newsletter.
  • _publishers are the publishers which I have granted their own hub page.
  • _sass contains the site's css.
  • _series - Are collections of _content items that were published as part of a numbered series (specified by fields on the content item)
  • _tags - The bibliographic topics, arranged in a directed, ontological graph via the parents field.
  • _tests - A couple of pages with Integration Tests. Currently, only the "content" tests are actively monitored.

Lastly,

Reuse

The beauty of Jekyll is that it outputs plain HTML, which you can reuse in a variety of ways. The entire database can also be found in Bibtex format here, in case that's helpful, for example for importing into an academic reference manager.

Feel free to reuse this website in any (ethical) way you like consistent with the attached MIT License.

A slightly out-of-date backup of the site's source code can be found at:

DOI