-
-
Notifications
You must be signed in to change notification settings - Fork 199
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Edit/synthesize introductory materials - Manual into MD for RTD #409
Comments
I've partially mapped out the resources that people are directed to when beginning to use HARK. I've rooted the search in the HARK README. Main takeaways:
Based on this survey, I think the next steps are:
|
It looks like there are many automatically generated files checked into the repository here: Generally, it is best practice to not check autogenerated content into the repository. Is there a positive reason why this is there, @llorracc, or may I clean these files out? |
There is yet another file with a different version of introductory doc materials: This one is the primary introduction used in ReadTheDocs. After PR #411, this
|
There is a reason, but one I am willing to consider abandoning. The original version of the manual was a LaTeX document, because that let us copy and paste the math from previous work. At various times there were quick demands for:
From the beginning I'd been storing the generator version of everything in the HARK-make repo. Scripts in that repo would run to generate the content you found. You will find four reasonably self-explanatory scripts in HARK-make: makeWeb-HARKmanual-And-Contributing-To-HARK.sh Your goal, in a sense, is to make that process obsolete. If we have one unified system of documentation with everything properly interlinked, then there will be no need for generated material and we can remove this content from HARK-make. (And maybe even eliminate HARK-make altogether!). |
Two other examples of introductory material are at:
Another effort, specifically to trace out the logic of our solution method for the basic model, was made by Karsten Chipeniuk [email protected] At some point, I asked Patrick to try to incorporate Karsten's notebook in the documentation but I don't think that ever happened. |
Another wrinkle, RE: this point: I have checked to see if the current And it works! Which means that locally building the docs is sensitive to some (undocumented) environmental configuration, but also that the issue I flagged earlier about the readme.md not compile was a non-issue. |
@llorracc So is it indeed the case that goal here is to have ReadTheDocs be the canonical, go-to documentation, and everything else will be deprecate when ReadTheDocs is adequate? |
My sense is that there are several different modes in which people will be interacting with the toolkit, and that the most useful way to help them will be different for each mode.
In the short run, probably the right strategy is indeed just to consolidate the material that we already have into a combination of ReadTheDocs and DemARK notebooks that are auto-integrated with ReadTheDocs. But it would be nice to have a vision for how we want to go about building a structure to guide people in a systematic and step-by-step way into the toolkit. One resource I'd particularly like you to dive into is this symposium from the PASC conference this summer. There was a lot of good advice from all of the presentations, and we would profit from adopting many of the ideas mentioned in those presentations. |
One other comment: A while ago in some of the discussions between @sbrice and @shaunagm about restructuring and rationalizing everything, @sbrice suggested that the notational conventions defined in the NARK were really also a form of documentation, and should be integrated somehow (so that people could figure out what the various variables' cryptic names mean). |
Ah, ok. So, if I can try to rephrase:
The third point is a broad one--so broad it probably doesn't fit into a software issue tracker ticket :) Looking forward to discussing it with you some time. I'll consider this ticket scoped to the software users/contributors use case. |
Digging a bit deeper (because of #420), I'm looking at the HARK-make repository. I understand why these scripts are valuable.
The logic here is that if somebody changes the manual, they should change only the source files. (The generated files are also making the Documentation directory more confusing--not just for me, but apparently also for the sphinx documentation compiler) |
…I docs render without placeholder. See econ-ark#409
Well, if the downstream files are all autogenerated from a bash script, the degree of waste (from the perspective of the only person editing the files, which was me) is small (when there is a Single Source of Truth which is the tex file) compared with trying to edit several different (LaTeX; markdown; html; RST) versions of the doc. There's nothing I like more than an SST. So, if I understand your point, it is that we should move toward an .rst version of HARKmanual that is our SST? (Esp given that the markdown generated by pandoc seems to have messed up Sphinx). Sounds like that's probably a good idea. But also sounds like it would require at least a little work to translate HARKmanual.tex to HARKmanual.rst? At least, if running pandoc on HARKmanual.tex yields an RST file that is as deficient as the pandoc-generated markdown file was ... |
My point was more of a principle: (In my view, if the scripts have only a single function, it's best to keep them in the same repository as the data they ingest.) If, say, the SST is LaTeX, and the script generates Markdown that is unusable, then I think it's best to consider that a bug in the script, rather than a problem with the Markdown to be edited by hand. I don't understand the ecosystem of documentation, the toolchains around them, or the directions of the project well enough yet to have an opinion of whether the manual SST should be in LaTeX, RST or MD. |
If the “HARKmanual is a LaTeX document that gets automatically converted to
md, html, and RST using pandoc“ procedure worked flawlessly, I don’t know
that there would be a reason to change things. But you indicated that the
markdown it generated was flawed, and I think there are problems with the
RST and html as well. (Basically, pandoc does as good a job as it can in
converting, but that’s still not such a great job).
The case for moving to an RST version of HARKmanual would probably be
strengthened if any of several other conditions were true:
1. We decided that it would be best to split the content currently in
HARKmanual up into more digestible chunks, which can be linked to each other
2. Converting it to RST-native form would allow useful integrations with
ReadTheDocs
3. RST is essentially becoming the universal norm for documentation and
we would increasingly be an outlier in having a PDF manual
Could you take a look at how QuantEcon does their documentation?
Generically I am an admirer of everything they have done, and if they are
an all-RST shop that would be pretty persuasive.
(In my view, if the scripts have only a single function, it’s best to keep
them in the same repository as the data they ingest.)
The problem with that is that LaTeX adds a lot of confusing clutter; this
is a reason to move toward RST because it renders natively without any need
for compiling.
Let’s discuss this tonight or over the weekend.
On Fri, Nov 1, 2019 at 10:03 AM Sebastian Benthall [email protected] <http://mailto:[email protected]> wrote:
So, if I understand your point, it is that we should move toward an .rst
version of HARKmanual that is our SST?
My point was more of a principle:
It's best if a repository has: (a) data in a usable raw form (SST), and
(b) scripts for transforming it into other forms, as needed.
Rather than several versions of the same content in slightly different
forms.
(In my view, if the scripts have only a single function, it's best to keep
them in the same repository as the data they ingest.)
If, say, the SST is LaTeX, and the script generates Markdown that is
unusable, then I think it's best to consider that a bug in the script,
rather than a problem with the Markdown to be edited by hand.
I don't understand the ecosystem of documentation, the toolchains around
them, or the directions of the project well enough yet to have an opinion
of whether the manual SST should be in LaTeX, RST or MD.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#409?email_source=notifications&email_token=AAKCK75PYLUNQI6JN4DDSUTQRQZLZA5CNFSM4JDEV432YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEC3AE7A#issuecomment-548799100>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAKCK72DMDHUHY4HS7WALQ3QRQZLZANCNFSM4JDEV43Q>
.
--
- Chris Carroll
|
|
I've looked into it. Indeed, they seem to use RST for everything. For example: |
Thanks.
We should think about whether we should follow them or not. We don't have
a huge amount of documentation in LaTeX, so maybe it would not be too
painful (esp since the pandoc converter would produce a first draft).
PS. I really like their hierarchical organization of the material.
…On Thu, Nov 7, 2019 at 2:44 PM Sebastian Benthall ***@***.***> wrote:
Could you take a look at how QuantEcon does their documentation?
Generically I am an admirer of everything they have done, and if they are
an all-RST shop that would be pretty persuasive.
I've looked into it. Indeed, they seem to use RST for everything.
They do have some mathematical notation in their docs, but this seems to
be rendered from RST through a LaTeX renderer.
For example:
https://quanteconpy.readthedocs.io/en/latest/markov/core.html#definitions-and-some-basic-facts-about-markov-chains
https://github.com/QuantEcon/QuantEcon.py/blob/master/quantecon/markov/core.py#L5
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#409?email_source=notifications&email_token=AAKCK7ZJ3T6L35WD55UDT7LQSRV2ZA5CNFSM4JDEV432YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDNSUQY#issuecomment-551234115>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAKCK756X6SHVAEVELK5YYTQSRV2ZANCNFSM4JDEV43Q>
.
--
- Chris Carroll
|
Ok, then I'll add a task:
|
Working towards this, I'm comparing what is in the Manual with what is already in the ReadTheDocs. There are a number of areas where the content overlaps. It would not make sense to copy the entire manual into ReadTheDocs. These are sections of the Manual that have roughly equivalent sections in the docs already: 1.1 Getting Started Sections that have no equivalent in the current ReadTheDocs are: 1.2 Structure of HARK |
I don't think we had settled on a solution to the "manual problem."
The thing that needs to be immediately fixed is just that the page should
not break. Somehow our readthedocs software had incorporated the content
of the html file, and for some reason it is no longer there. That does not
necessarily imply that the solution is convert HARKmanual to rst".
Actually, having discussed with DrDrij a few days ago, I'm more inclined to
move toward markdown rather than rst, if readthedocs can index markdown.
In any case, there should be an immediate short-term fix (relying on either
the .html or the .md versions of the manual) that will work until we agree
on a permanent plan for HARKmanual.
…On Mon, Nov 25, 2019 at 5:08 PM Sebastian Benthall ***@***.***> wrote:
Working towards this, I'm comparing what is in the Manual with what is
already in the ReadTheDocs.
There are a number of areas where the content overlaps. It would not make
sense to copy the entire manual into ReadTheDocs.
These are sections of the Manual that have roughly equivalent sections in
the docs already:
1.1 Getting Started
2 General Purpose Tools. Corresponds to
https://github.com/econ-ark/HARK/blob/master/Documentation/list-of-files.md
5. Contributing to HARK . This also has an issue devoted to it #410
<#410>
Sections that have no equivalent in the current ReadTheDocs are:
1.2 Structure of HARK
1.3 Other Resources
3. Microeconomics: the AgentType Class
4. Macroeconomics: the Market Class
6. Future of HARK
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#409?email_source=notifications&email_token=AAKCK72YRWHQ37ESXLSAUATQVREERA5CNFSM4JDEV432YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFD62II#issuecomment-558361889>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAKCK75Y5LENYXBSBLZXGOLQVREERANCNFSM4JDEV43Q>
.
--
- Chris Carroll
|
By 'break', do you mean getting a 404/"Sorry, This page does not exist yet" when following a link from the Quick Start guide? |
The short term fix I've tried to implement in PR #436 is that this link would point to the PDF version of the manual. But now I'm trying to rebuild the readthedocs documentation and the build fails. (It works locally on my machine, but this isn't the first time local behavior and readthedocs.io have been different). |
This is the current error. It appears to be a problem with the nbsphinx plugin:
|
Six days ago there was an
I'll try pegging the version of |
See #380 |
Reviewing this ticket---the task that remains on it is converting the manual to Markdown and including in ReadTheDocs. |
@sbenthall, @MridulS I've used my newly-acquired knowledge of how to use gh-pages for rendering html, to rerun and post the html version of the HARKmanual. The natural place to put this would be in the gh-pages branch of HARK. But, per my message earlier today, that seems to contain an ancient and defunct version of the documentation. Since both of you are now much more expert than I am at using sphinx etc, I defer to you to clean that up and remove the old docs. In the meantime, I've put the recompiled version of HARKmanual.html at https://econ-ark.github.io/HARK-make/Documentation/HARKmanual/ At a minimum, this may be a better starting point for converting into Markdown than the original LaTeX document. In fact, given that it does not have the glaring deficiencies of the HARKmanual.md (bad links, etc), it seems to me not a high priority to convert into markdown at all right now. @sbenthall said recently that he had started to do the conversion by hand but did not get far before he stopped. I'd say to wait on that until some more comprehensive planning has been done. For example, we may well just want to chop the HARKmanual up into bits and pieces and put them in the relevant parts of ReadTheDocs. In that case there would be no reason to do a hand-conversion to a HARKmanual.md file. So my short-term proposal is that, when the old bad gh-pages/sphinx documentation is gone, to post the new HARKmanual.html at HARK/Documentation/HARKmanual/, update links in whatever are the appropriate place, and leave it be until we have time to return to it more systematically. https://econ-ark.github.io/HARK-make/Documentation/HARKmanual/ |
Ok, I see the manual is now up I'll change the links in RTD to point to this manual. |
The manual appears to have found a happy place to be: in the github.io pages. Future documentation work is going to focus on ReadTheDocs. |
There are several different, but overlapping, introductory materials to HARK.
Identify these materials and their differences/similarities.
Edit these for more streamlined onboarding.
Use other scientific software toolkits (astropy, etc.) as a model for how to write effective onboarding documentation.
Assigned to @sbenthall -- task defined in today's roadmapping meeting.
The text was updated successfully, but these errors were encountered: