First bit of trouble and having is that exploring nbdev is seriously cutting into my sleep. I was awake till 4 AM yesterday playing with it. Damn you, damn you all to hell… I apologize for the chaotic nature of these questions. I am asking questions stream of consciousness and I’m clearly missing some very basic knowledge about Jupyter notebooks.
I appreciate your patience and responses.
One thing that tangle/weave did was it allowed you to order the narrative based on its needs, not what the compiler requires. That is really important for writing literate code. However, deviating significantly from the order the compiler needs reduces ability to debug. The debug issue would not exist if one could debug code using the literate form and not the tangled form.
Moving on to specific examples. 00 export creates lots of questions.
Why you have a number prefix on all of the sections (00_export, 00_sync etc.)? I am guessing that ordering is important and the easiest/fastest way of doing this is to use lexical sorting of filenames. The number prefix gives you easy and explicit control independent of a configuration file.
The second and third blocks have some sort of control information and a hidden import. Elaborate please?
Section export to modules/basic foundations is a bit of a mystery. I’m assuming it is in line code executed when the file is loaded/imported. Don’t understand why it’s there or how it gets used.
Show_doc is defined where? Why is there a <IPython.core.display.Markdown object> after the code fragment, apparently hanging out in the block with no apparent connection to anything? Is <IPython.core.display.Markdown object> telling the notebook how to display/publish the documentation extracted by show_doc?
Section reading a notebook is the first bit of code I’ve seen that ends up in the export.py file. Now it starts to make sense and I can see how the blocks end up in the tangled file.
Now I get confused again because I went and looked at the docs directory.
Why are there absolute URLs in index.html,
why are the docs directory contents half HTML but not the same as the live website?
Then there is another disconnect between notebook contents and the matching documentation page. In the notebook, you define read_nb but it’s not defined in the documentation, only reference to the function definition.
Having test code adjacent to the definition makes a lot of sense but in the documentation seems out of context because of missing information.
Yeah there’s a lot of things I don’t understand why they’re visible sometimes and not visible others. For example the regular expression statements are not visible but the block with assertions in it is.
I’m in stop here. I need to get some sleep but if there’s something basic about Jupyter notebooks that I need to know. Tell me where to look for the docs and I will read up before asking more questions