OER-Forge is a suite of tools to help authors create WCAG-compliant Open Educational Resources (OERs). The project is currently under development.
Below we describe the build system and its components; note that only scan.py
and parts of convert.py
are currently functional. And convert.py
currently only supports conversion of Jupyter Notebooks (.ipynb
) to Markdown (.md
) and Word (.docx
).
OER-Forge is a Python package with five modules (oerforge/
):
scan.py
- uses_config.yml
and the files present incontent/
to populate an sqlite database with site and file info.convert.py
- draws fromsqlite.db
to convert files incontent/
and places them inbuild/files/
preserving the user's file structuremake.py
- draws fromsqlite.db
to builds a temporary WCAG compliant site inbuild/
.verify.py
- reviewsbuild/
in the context of WCAG Guidelines to generate a report and update pages on the site indicating level of compliance.confirm.py
- integrates the WCAG reporting information into the site and rebuilds as a public site indocs/
OER-Forge uses build.py
to orchestrate the build process.
build.py
- uses functions from each module to construct the build inbuild/
The following diagram illustrates the envisioned build process:
- Starting with the
content/
directory and_config.yml
,scan.py
populatessqlite.db
. This includes metadata about the site and the files to be processed as well as their locations. Figures and images are also identified and catalogued. This is functional. convert.py
reads fromsqlite.db
to convert files incontent/
to their appropriate formats, placing them inbuild/files/
while preserving the user's file structure. The tools inconvert.py
currently support conversion of Jupyter Notebooks (.ipynb
) to Markdown (.md
) and Word (.docx
), and will be extended to support additional formats. The moduleconvert.py
uses the file extensions to determine the appropriate conversion tools and which formats to convert to (i.e., it will not attempt to convert a.md
file to.md
or a.docx
file to.ipynb
). This is partially functional.make.py
reads fromsqlite.db
to build a temporary WCAG compliant site inbuild/
. This is not yet functional.verify.py
reviewsbuild/
in the context of WCAG Guidelines to generate a report and update pages on the site indicating level of compliance. This is not yet functional.confirm.py
integrates the WCAG reporting information into the site and rebuilds as a public site indocs/
. This is not yet functional.
OER-Forge is under active development. Below is a punchlist of tasks to be completed. If you are interested in contributing, please reach out [email protected].
-
scan.py
can readcontent/
and_config.yml
to populatesqlite.db
-
convert.py
can convert files incontent/
to their appropriate forms-
convert.py
can convert.ipynb
to.md
with images -
convert.py
can convert.ipynb
to.docx
with images -
convert.py
can convert.ipynb
to.tex
with images -
convert.py
can convert.ipynb
to.pdf
with images -
convert.py
can convert.docx
to.md
with images -
convert.py
can convert.docx
to.tex
with images -
convert.py
can convert.docx
to.pdf
with images -
convert.py
can convert.md
to.docx
with images -
convert.py
can convert.md
to.tex
with images -
convert.py
can convert.md
to.pdf
with images
-
-
convert.py
can write location of converted files tosqlite.db
-
make.py
can build the initial WCAG compliant site tobuild/
-
verify.py
can traversebuild/
to indicate which page builds are ok -
verify.py
can write build results tosqlite.db
for each page -
verify.py
can read WCAG guidelines in a parse-able way -
verify.py
can traversebuild/
to evaluate level of WCAG compliance -
verify.py
can write ECAG compliance levels tosqlite.db
for each page -
confirm.py
can read compliance levels and modify page to indicate current level -
confirm.py
can generate a WCAG report on site and individual pages -
confirm.py
can build public site todocs/