All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
0.7.1 - 2021-JAN-12
- IPython package is a dependency for its code lexer
0.7.0 - 2021-JAN-12
- The
SolutionRemover
preprocessor now uses cell tags to find the solution and its parts - A
legacy
command line argument switches back to the old method of finding the solution based on parsing the source of the cell - A test of the new tag-based
SolutionRemover
- Highlighted answer cells cannot be deleted in the assignment notebook
- Support for Python 3.6 is dropped
- Moved to
src
directory layout and don't include tests with the package
- Type hinting for
resources
dictionaries in some preprocessors
- Remove exam processing, which didn't work well and wasn't really used
0.6.0 - 2020-SEP-11
- Option to clean the output folder can be specified.
- Test with the latest Python 3.9
- Change base template for our template to
style_jupyter
instead ofstyle_ipython
. Has a number of benefits, most notably, line breaking in code cells.
- Fix uploading the Anaconda package
0.5.2 - 2020-SEP-03
- Switch to GitHub Actions
0.5.1 - 2020-SEP-03
- The version number was incorrect for v0.5.0
- Tests!
0.5.0 - 2020-SEP-03
- Add ability to process exam files into assignments and solutions
- Cells that contain the word "Sketch" indicate that they require an image submission
- Run Black on all the code files
- Delete Pymarkdown variables from the cell metadata to avoid revealing the solutions
- Move
combine_pdf_as_bytes()
toutils.py
- Only run
xelatex
on the converted files once
- Files without
### part name
now correctly excludes the solution
- The
HomeworkPreprocessor
class was no longer useful, because it was removing things it shouldn't have been
0.4.2 - 2018-SEP-03
- Test suite started, with a test of the
ExtractOutputsPreprocessor
that checks pathological filenames - Run test suite on TravisCI
- Distribute the LICENSE file with built artifacts
- Fix pathological image filenames that caused URL escaping errors
0.4.1 - 2018-AUG-30
- Fix spaces in attached image names cause LaTeX to fail
0.4.0 - 2018-AUG-26
raw_html_filter
to process raw inline HTML to equivalent LaTeX forms- Option to show the solution should be done by hand,
--by-hand
command line option
- Reset all cell executions to be None when a Notebook is processed
0.3.1 - 2018-AUG-14
- Expose filter functions from
div_filter.py
in__init__.py
0.3.0 - 2018-AUG-14
- Add filter to convert Bootstrap
alert-*
classes to LaTeXtcolorbox
es
0.2.5 - 2018-AUG-03
setup.cfg
file added to configure some metadata- Add
flake8
configuration tosetup.cfg
- More keywords to
setup
function insetup.py
- Module docstring for the new
preprocessors
module - Export more classes and functions from
__init__.py
- The
HomeworkPreprocessor
andSolnRemoverPreprocessor
are moved fromconvert_thermo_hw
module topreprocessors
module
- Fix some typing errors
- Remove the
ExtractOutputsPreprocessor
which is not needed anymore
0.2.4 - 2018-AUG-03
- PyPI deploy password for Travis CI must be encrypted with
--pro
flag
0.2.3 - 2018-AUG-03
- Fix anaconda.org upload token decryption
0.2.2 - 2018-AUG-03
- Typo in README.md
- Conda recipe description was not valid YAML
0.2.1 - 2018-AUG-03
- Install
conda-verify
on Travis CI
- Change Python version dependency in
conda.recipe/meta.yaml
to be less the 4.0
- Fix accessing Jinja variables in
conda.recipe/meta.yaml
0.2.0 - 2018-AUG-03
- Add Travis CI configuration
- Include the
homework.tpl
template file with the distribution - Appropriate classes are now exported in
__init__.py
- Use
PyMarkdownPreprocessor
from our own module to avoid havingjupyter_contrib_nbextensions
as a dependency - Set the
build_directory
of thePDFExporter
FileWriter
instance to prevent writing intermediate files in the local directory - Sort the list of problems to be processed by problem number
- Automatically write the Notebook outputs to a zip file
- Automatically combine the PDF outputs to a single PDF file
- Refactor the processing loop to avoid creating the
FilesWriter
on every iteration
- Fix warnings about docstrings
- Fix that paths must be resolved to be processed
- Fix typos in docstrings
- Specify that the
long_description
content for PyPI is Markdown formatted
0.1.0 - 2018-JUL-29
- Convert Jupyter Notebook to PDF with and without solutions
- Convert Jupyter Notebook to a set of Notebooks, with and without solutions
- README with instructions for use