Skip to content
A Jekyll based static site for storing and searching PacELF project curated documents
HTML JavaScript Python Ruby CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
_data
_datasets
_includes
_layouts
_organizations
css
docs
img
scripts
.gitignore
.jekyll-metadata
404.html
CONTRIBUTING.md
Gemfile
Gemfile.lock
LICENSE
Pipfile
Pipfile.lock
README.md
TODO.md
_config.yml
about.html
add-dataset.html
add-organization.html
adding-filters-to-datasets-page.md
admin.html
android-chrome-144x144.png
apple-touch-icon-precomposed.png
apple-touch-icon.png
browserconfig.xml
convert-xml-to-md.py
data.json
datasets.html
datasets.json
favicon-16x16.png
favicon-32x32.png
favicon.ico
index.html
mstile-150x150.png
organizations.html
package-lock.json
package.json
requirements-dev.txt
requirements.txt
robots.txt
safari-pinned-tab.svg
setup.md
webpack.config.js

README.md

PacELF Digital Library

license

A static site for storing and searching the PacELF project's digital library of documents.

Prerequisites

To install this project, you'll need the following things installed on your machine.

  1. Ruby
  2. NodeJS

Local Installation

  1. Clone this repo, or download it into a directory of your choice.
  2. Inside the project's root directory, run:
npm install
bundle install

Usage

Developing

Jekyll

To simply serve the site locally and/or to see development changes to the Jekyll datasets, layouts or includes, run;

bundle exec jekyll serve --watch --incremental

This will output a localhost development server.

To remove existing content in _site, which is where Jekyll builds to and serves from, run:

bundle exec jekyll clean

To rebuild the content of _site run:

bundle exec jekyll build

See the Jekyll docs for more options.

Javascript

When making changes to the Javascript within scripts/:

Re-compile the files using the provided webpack.config.js configuration using:

npm run build

View package.json for more commands and details.

Updating datasets

Currently this codebase requires the .xml, .txt and .pdf documents to be provided in the docs folder.
The xml documents contain the information about documents curated by the PacELF project, the .txt contains information about the availability of the document itself and the .pdf is the document referenced.

Process to obtain XML documents

Currently there is a spreadsheet which is maintained by the PacELF project. The spreadsheet is converted into .xml documents via a Python script.

TODO: Test this process and confirm which one actually works with Daniel

Producing markdown document for each XML document

Once the XML documents are in located in docs/ you can install the Python dependencies in requirements.txt or Pipfile using your preferred tool.

e.g.

pip3 install -r requirements.txt

or

Pipenv install

Then you can run the script

python3 convert-xml-to-md.py

With luck it will populate the _datasets/ folder with the original markdown output of each XML document.

Deployments via GitHub

The site is deployed by GitHub Pages to https://pacelf.github.io/

Changes can be made to deployed site by making changes to the GitHub repository master branch via:

git push

Tests

To locally run the tests on the static site produced, first install the project dependencies above.

Then install the testing dependencies via:

gem install html-proofer

Build the static site via:

bundle exec jekyll build

Run the tests:

htmlproofer ./_site

Further Documentation

Architecture

Currently built using Jekyll via the JKAN project.

JKAN Links

JKAN is organised in a particular way to suit it's usecase and it is helpful to understand before making changes. The architecture and development of it is documented here.

Analytics

Per PacELF project's request, Google Analytics is loaded into the site to count viewers.

It is currently stored under steve.vandervalk@gmail.com Google Analytics account.

Recurring Reports

As requested, it sends monthly audience overview emails to steve.vandervalk@gmail.com which are forwarded to Patricia Graves (patricia.graves@jcu.edu.au) as the PacELF project owner.

Maintainers


You can’t perform that action at this time.