ICalico Development 2014 BMC
- be able to use ICalico via a server for fall 2014 courses (Programming Languages, and ESEM)
- spelling checker
- bibliography support
- commenting by others
- grading support
- other functionality as needed
- clicker-style feedback
- question/answer widget
- wiktionary (in-notebook word look-up)
Monday, June 30, 2014
- http://daringfireball.net/projects/markdown/ - Original definition of "markdown"
- http://en.wikipedia.org/wiki/Markdown - General overview of markdown
- https://github.com/chjj/marked/tree/master/test/tests - Marked tests, should document all features/variations
- https://help.github.com/articles/github-flavored-markdown - Additional syntax allowed with "marked"
- https://www.gitbook.io/ - Publish Markdown book (has foot notes)
- https://github.com/chjj/marked/pull/431 - footnote patch for marked
Tuesday, July 1, 2014
Wednesday, July 2, 2014
- http://timeline.knightlab.com/ - Time Line
ICalico Notebooks with Visualizations:
- No vertical bar escape
Thursday, July 3, 2014
Hints on spelling checking:
- https://github.com/ipython/ipython/pull/3102/files - Changes to turn spell check off. What happens if it is on?
- ICalico - the only docs we have so far
- Being able to make the lines of tables invisible
- Being able to have reference-style links be defined in any cell in the notebook
Monday, July 7th, 2014
Goals for the week:
- Number Sections
- Completed July 7th. Has not been tested extensively. Code is located in "Labeling Headers" notebook on Dropbox.
- Number Sections
- Table of Contents
- Remove Old One?
- Table of Contents
Tuesday, July 8th, 2014
Testing and added functionality of automatic section numbering:
- Discussed several new features with Mattie to make section numbering more user-friendly, including:
- Added alerts that warn user when missing intermediate headers
- Added additional alerts warning users when the first header cell in their Notebook is not a Header 1 cell
- Determining when parts of certain user-defined titles should/should not be replaced
- Tested more extensively, removing several bugs with replacing already existing headers
- Users cannot name sections of their notebook titles that match the defined section numbering pattern (i.e. naming a section "1.5 Pies" will delete '1.5' and replace it with the correct section number for that section, even if '1.5' was intended to be part of the title)
- Successfully generated section numbering for Mattie's Reference Guide
Completed Raw Implementation of Table of Contents Generator:
- Code is labeled "Table of Contents Code" on Dropbox
- Mostly working with few bugs
- Several design questions that can be discussed in the future
- Put a new copy of the reference guide (Title: "Reference Guide Plus Code") in the Dropbox folder which demonstrates both Section Numbering and Table of Contents Generation!
- Making a markdown link that contains ")?)" forms some sort of escape and will not link properly. Cause unknown. EDIT: Fixed 7/9/2014
Doc Writing Update (from Mattie):
- Finished explanation of toolbar, with exception to the restart kernel tool and the cell toolbar drop down menu, both of which I am trying to figure out the function of
- Fix internal links so that they don't open up a new window (with Cole's help)
- Introduced several new sections to the whole guide, including one that hopefully will link to Cole's automatic section numbering program
- Currently trying to write a section on how to turn your Notebook into a slideshow, but I'm still figuring out how to do it for myself.
Wednesday, July 9th, 2014
- Added a fix to remove trailing spaces from links for the table of contents generator
- Added a fix to replace all parentheses with their encodings (%28 and %29 respectively) fixing the bug causing links with parentheses to render incorrectly.
Potential New Bugs For Discussion:
- Unordered lists do not render if the indentation level increases by more than one tab at a time. Notebooks with headers that are inconsistent in this way (i.e. jumping from header 1 to header 3) will not render their table of contents correctly. However, this could warn users of potential errors within their notebook.
- Initial documentation (including JSON file format) - https://github.com/NUKnightLab/TimelineJS
- Example JSON file - https://github.com/NUKnightLab/TimelineJS/blob/master/examples/example_json.json
Thursday, July 10th, 2014
Doc Writing Update (From Mattie)
- After trying to figure out how to view my notebook as a slide show, getting very confused in the process, and asking both Ian and Cole for help, I have determined that there currently is no super easy, intuitive way to do this. Ian set it up so it's not too hard, but it does require entering bash commands in terminal. I'm not sure it makes sense to document this process right now, because hopefully we can change it to be more user/novice user-friendly.
Doug: As you have found, normally, nbconvert is run on the notebook from the command-line. But I just saw that someone made it so that you can do a slideshow from inside a live notebook by pressing a button. I'll see if I can find that...
- Similarly, I am interested in talking about Cole's useful table of contents and section numbering code, but I don't know how it will eventually be implemented for any given user, so I'm holding off on procedural documentation for that function as well.
Doug: We'll put those options (Table of Contents and Heading Numbering) on the menu in the notebook.
- Also, Cole did me a favor and wrote a very simple find and replace code that I think could be turned into a useful tool for humanities and social science students writing papers. In my case, it just replaced every instance of the phrase "IP[y]" and replaced it with "Jupyter".
Doug: not sure if we can write a find-and-replace version that will be good enough to be used.
- I've finished the section on Keyboard short cuts, though right now it just directs the user to the help menu. I wasn't sure reduplicating the a legend for all the keyboard short cuts directly into a cell of the reference guide notebook would be that helpful, but I can do that if it does turn out to prove worthwhile.
- Have figured out the correct format for JSON data in order to render a timeline using a file instead of googledocs
- Current embedding code breaks a notebook when run, rendering it useless:
- All functionality is lost, including keyboard shortcuts, backspacing already written text, etc.
- <div> tags seem to function fine otherwise so something about the scripts being run seems to be the problem
- I've tried several different methods of embedding this code, including the two methods listed in the timelineJS documentation, and using python to call the HTML display functions
- Generating proper JSON format from a markdown table should be fairly easy as the format is basically straightforward