I have been meaning to come back to this project for a long time. I went to PyCon this week, and was completely inspired to revive this project. Jupyter notebooks have evolved since I last worked on this, and the time seems ripe to bring this project to maturity.
This project will be mature when:
Contributors can simply develop a Jupyter notebook about a project, submit a PR, and have their project included in the overall project.
People can have a local version of the website running on their own computer after running a single Python script. The script should call nbconvert, and then do any post-processing that's needed. As much as possible of the html rendering should be done through nbconvert, and there should be no shell scripts involved.
It should be really easy to use the project to start a similar website for a different language. Fork the repository, strip out the existing notebooks, write your own notebooks, run the conversion script, and you should have a static site ready to deploy.
Contributors can add to the overall features of the site with relative ease, rather than just contribute notebooks. The conversion script and process should be clear and easy to follow, so people can contribute to the core layout of the project and easily customize it for their own deployments.
This will become a meta-issue, and the work to do this will be broken into a series of more specific issues.
Other notes for now:
Add a script to clean out the project from introtopython-specific elements. People should be able to fork the project, run the script, and start working on a similar project for a different language. (see #151)
The output should be an entire static html site, which the user can deploy on a server.
Every project should be moved to a separate folder, even projects with only one notebook. This will create a clean overall project structure, and allow inclusion of resources such as images for each notebook. Each notebook/ project should be a standalone entity.
The goal of this update is to be able to share the project again and invite collaboration, primarily for the development of projects. So the detail issues here are only ones that need to be finished before sharing the project again.
Detail Issues:
[x] #138 Create a single conversion script for generating html
[ ] Update content:
[ ] #147 Remove Python 2 references
[ ] #18 Split longer notebooks into more reasonable chunks
[ ] Read through all python_essentials notebooks and revise as necessary
[ ] #139 Finish the testing notebook
[ ] #140 Update the resources notebook
[ ] #126 Use docstrings in functions and classes
[ ] #134 Update earthquake project
[ ] #144 Update documentation
[ ] Update README
[ ] Notes about contributing content via notebooks
[ ] Structural documentation (technical, stylistic, and content conventions)
I have been meaning to come back to this project for a long time. I went to PyCon this week, and was completely inspired to revive this project. Jupyter notebooks have evolved since I last worked on this, and the time seems ripe to bring this project to maturity.
This project will be mature when:
This will become a meta-issue, and the work to do this will be broken into a series of more specific issues.
Other notes for now:
The goal of this update is to be able to share the project again and invite collaboration, primarily for the development of projects. So the detail issues here are only ones that need to be finished before sharing the project again.
Detail Issues: