This project contains the content needed to build and deploy a copy of the Inclusive Learning Design Handbook.
- Install the required NPM packages:
npm install
- Run Eleventy in development mode:
npm start
.
The website will be available at http://localhost:8080.
You can build and serve the website from a Docker container.
Once you have Docker installed, run the following commands to build a Docker image and start a container:
- Build the image:
docker build -t ildh .
- Run the container:
docker run --name ildh -p 8000:80 ildh
The website will be available at http://localhost:8000
If you make changes to the website, repeat the steps to build the image and start a new container.
- Install the required NPM packages:
npm install
- Run the build script:
npm run build
- Upload the contents of the
./dist/
directory to the web root of your server.
If you make changes to the website, repeat step 2 to build the website and upload any changed files from the ./dist/
directory to the web root of your server.
Modifications can be made to any source file or directory except for the contents of the ./dist/
directory. The
./dist/
directory is not versioned since it contains the built website that Eleventy generates from the source files,
and files in dist
are overwritten at build time.
The ILDH website is based on Trivet, an Eleventy website starter kit.
For more information about making asset pipeline changes, please see the Asset Handling documentation.
An older version of the ILDH website used from 2011 to 2015 was previously hosted at the same repository name. It has been archived and can be found here: https://github.com/fluid-project/2015-handbook.floeproject.org
Trivet includes configuration for administering site content via Netlify CMS. This has not
been included in the ILDH, though it can be re-enabled by copying the relevant lines and files from Trivet. In particular,
the directory src/admin
must be copied into the project and subsequently included in the dist
directory upon building
the project.
After enabling admin functionality, the Netlify CMS configuration can be edited in src/admin/config.yml
.
For full documentation, see the Netlify CMS documentation.
The ILDH includes internationalization support. To add a language, the following changes need to be made:
-
Update the
languages
object ofsrc/_data/config.json
to add the new language. For example, to add Farsi, you would use the IETF language code as the key, and add the following object values:- a short form of the language code for use in permalinks
- a short form of the language code that corresponds to an available message bundle locale for Infusion's User Interface Options
- the direction (
ltr
for left to right orrtl
for right to left) - the localized language name (endonym)
{ "languages": { "fa-IR": { "slug": "fa", "uioSlug": "fa", "dir": "rtl", "name": "فارسی" } } }
You can set the site's default language by changing the
defaultLanguage
value insrc/_data/config.json
to the IETF language code of the desired default language. -
Add sections for the new language to
src/_data/site.json
andsrc/_data/translations.json
, translating the content from the English source. The key will always be the language code as used inconfig.json
. -
Add folders in each collection for translated content. For example, you would add a folder called
fa-IR
tosrc/collections/pages
.
For more information about how Netlify CMS works with internationalized content, see the internationalization support documentation.
The Inclusive Learning Design Handbook's code is available under the 3-Clause BSD License.
The Inclusive Learning Design Handbook's content is licensed under the Creative Commons Attribution 4.0 license.
The ILDH is based on other publicly available software, categorized by license: