Closed mmcky closed 1 year ago
We have a number of avenues underway to address these in preparation for migration.
Trial Migration:
lecture-python-programming.myst has been set up to test a migration. Saya is helping with the manual components to see how we can improve sphinxcontrib-tomyst
and what will need to be done manually.
Theme Development:
A theme repository has been setup with similar structure to sphinx-book-theme
in preparation for quantecon-book-theme for jupyter-book.
Timeline: DRAFT due 14th September 2020
Coverage / Badge Support:
@AakashGfude is currently working with sphinx-book-theme
to see how we can integrate status badges from the exeuction statistics being produced by jupyter-cache
Timeline: TBD
Fixes for Numbered HTML Headers:
Some reference code has been found to support part
in html output. Work is underway to update it from sphinx=1.5
to sphinx=3+
to see if that will be a fruitful avenue to fix the current issues with numbering and get closer harmony between html
and latex
outputs.
Work is contained in sphinx-parttoc-numbering which will hopefully serve as a sphinx extension.
Planned Support Post Deployments:
pdf
files to support downloads (to replace the javascript approach to be used for initial migration)Update: 14-Sep-2020
Initial Migration does not require:
This issue is old and can be closed. Our operations have fully migrated to Jupyter-book
and myst
including download notebooks that are constructed using sphinx-tojupyter
This Issue documents what needs to be done to migrate our lectures over to use the new
jupyter-book
platform. The current system buildsmyst
well -- but we will need to add somesite generation / assembly
features before we can migrate our projects over to use the new platform.site assembly
that coordinates various builders may be needed (i.e.sphinx-ebp-website
) See jupyter-book issueWe will focus on
lecture-python-programming
Missing Features:
[x] Generation of downloadable
jupyter notebooks
with contextual link updates to a web site.Strategy: adapt sphinxcontrib-jupyter to build
ipynb
files, Alternative: Explore the use ofjupytext
for mirrored notebook sets if filters are available to updatemyst
links. Discussion: The main issue with usingjupytext
is that it doesn't support contextual updating such as adding web links in place of direct notebook links when generating notebooks. This contextual substitution is needed when building our website so notebooks contain links back to the web location rather than a local file reference etc. Raise this as an issue on the jupyter-book repo to get feedback[x] Support for theme hooks
:class: hide-output
and:class: collapse
for.. code-block::
Strategy: Support in
quantecon theme
for lectures forhtml
. Look atlatex
adjustments from theclass
attributes throughLaTeX
theme support (cc: @AakashGfude work on LaTeX theme) Discussion: This needs support in any theme that has been developed. Currently these are added as class attributes to the nodes in theAST
which then get interpreted by the translator. In the case ofhtml
this is a simple class passthrough that theme can latch onto and use, In case case oflatex
supportedclass
attributes need to be added to thewriter/translator
-- an alternative is to introduce a:latex:
attribute tocode-block
nodes to support speciallatex
features.[x] Support for
coverage
report building and statistics fromjupyter-cache
Stategy: Work with
jupyter-cache
to outputexecution
statistics through an amendment process to ajson
file includingdate
,execution time
, andexecution status
Alternative: Build ajupyter-coverage
package to provide execution statistics Discussion: Building as a separate package could allow the freedom to build a tool specialised on buildingexecution
statistics independent of thecaching
layer and include test runs inenvironments
. Added a feature request on jupyter_cache. The information is now available in thesphinx.env
so now we just need to write areport
writer formyst_nb
.report
generator inmyst_nb
based on info available insphinx.env
Setup support for
chapter
levelpdf files
:--singlepagepdf
files for downloadpdf
files. See jupyter-book PRlatex
writer insphinxcontrib-jupyter
such asIn
andOut
block markers, fonts etc.New Infrastructure:
quantecon
theme that is used withjupyter-book
platform