Code Monkey home page Code Monkey logo

jupyterinstruct's People

Contributors

colbrydi avatar lizliz avatar

Stargazers

 avatar  avatar

Watchers

 avatar

jupyterinstruct's Issues

Consider adding a formatted calendar to the schedule.

I think this may be easier for the student's to read. Here is where I started:

import calendar
from IPython.display import HTML
import bs4
cal = calendar.HTMLCalendar().formatmonth(2021, 1, withyear=True)
HTML(cal)

Update validate to ignore images with data as warnings

If the jupyter notebook generates an image, that image will not have alt text. Update validate to detect figures and return a warning instead:

ERROR: No Alt text in image - data:image/png;base64,iVBORw0KGgoAAAANSUhE..

Depreciate the makestude.py file

makestudent.py is the old way of doing things. We need this to be depreciated. I added a few warnings but at some point the functions should be rolled into other files.

Update basename function in nbfilename

Currently the basename function in nbfilename returns with the extension. This should be updated to have an extension function separate from basename. This relates highly to what we will do for issue #5

Makestudnet warning is wrong

The following warning in makestudent is wrong:

WARNING: file may be changing 0423-PROJECT_Final.ipynb != None

I think we just need to check the None object and change it to the filename.

Background Image with no alt text

When I test this on the MSU jupyterhub server I get an extra image with no alt text. Searching the html shows the image is a background image of some sort. I either need to remove the image, find a way to add an alt text or ignore the error inside of the validate function. TO help with search the beginning of the image start with the following:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABCoAAAK6CAYAA

Write a fixer from wrong syntax for emphasis

Many of my notebooks use the following syntax to denote emphasis:

<font color=red>**QUESTION:**</font>

This syntax works fine in jupyter notebook but dosn't translate well when exporting as html. I can fix this syntax using the following:

**<font color=red>QUESTION:</font>**

I need to write a converter function that will fix this for me and run it on the entire directory.

I also think there is a similar issue with emphasis vs emphasis but I need to do some testing to verify.

I also would like to do testing in jupyterlab where I think I noticed similar problems.

Makestudent will overrite some instructor files

As written makestudnet will overwrite instructor files that do not following the INSTRUCTOR naming convention and do not specify an output directory. We should either issue a warning or pick a different file name (Maybe one with STUDENT).

Run Validate inside file directory

In nbvalidate, I need to see if I can figure out how to change directories to the location where the ipynb files are located. Sometimes these files download other files and put them in the directory they are being run from.

HTML output not formated properly

I think with the upgrade from nbconvert 5.0 to nbconvert 6.0 something broke and I can no longer output properly formatted html. I would like to have it look like previous output with a framed boarder (ex: https://msu-cmse-courses.github.io/cmse802-f20-student/0000--Jupyter-Getting-Started-Guide.html) However the html that is being exported is the most basic and looks fairly flat (ex: https://msu-cmse-courses.github.io/mth314-s21-student/assignments/01-Python_Packages). I tried adding html_exporter.template_name = 'classic' but that didn't seem to do anything to change the format. I also tried changing classic to lab and a few others but still no change. I must be missing something.

Also, I think the command line is still working but I need to double check.

Change width and height values for embeded video files

Jupyter notebooks work best with videos of size width=640,height=320. However, when exporting them to the website I prefer width="100%" and no height specification. This makes the videos fit nicely on desktops and phones.

I need to add a filter to change from width=640,height=320 to width="100%"

Add publish option to InstructorNotebook

The function would generate the html version of the notebook and copy it and the ipynb to a destination folder. Something like the following:

InstructorNotebook.publish(studentfilename, pubfolder,preprocess=False,includeipynb=True)

Alternative Zip download

There are different ways to download assignments in a zip file. The current code only allows for one kind of download. Maybe we can make it more robust to other downloads.

Truncate output for reporting images

Embedded images (ones that start with data:image/png;base64 can fill up the output for the validate function. We should truncate the output for the first 20-50 characters.

Condsider upgrading nbfilename class to extend pathlib.Path

Not sure if this is a good idea or not. But it may prove useful to extend nbfilename to extend pathlib.Path object. It could come in helpful for multi-platform compatibility (but I am not sure, may take a lot of extra, unneeded work).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.