Getting Started


Welcome! This is the very first post...

There is not much to the site yet, I am still working primarily on configuring the settings but hopefully I will have some interesting pieces up here soon.

Below I am simply doing some tests to ensure that the configuration is working as I expect. I am using Pelican and attempting to figure out the best way to ensure most of my work will be able to be done through Jupyter Notebooks.

If things look a little bit funny that means that all of the kinks have yet to be worked out...

Currently wondering how long it will take me to convert this Pelican site into a more responsive, reactive, PWA version. I've never been a huge fan of boilerplate and there seems to be a bit of it with these Pelican sites...but they do seem to work with jupyter...

TODOS

  • Add caching, manifest, serviceworkers
  • Add Some Ajax ( Or maybe just throw in some react components? React and Python, hmmmm....)
  • More fine tuning of the presentation
  • Test/Fix/Catalog Issues with presenting notebooks
    • What is the current language support outside of python?
  • Add Docker support
  • Move resources to S3
def check_works(name="Whiskey"):
    print("Hello {}".format(name))
    
check_works()
check_works("Rum")
Hello Whiskey
Hello Rum

Ipynb Issues/fixes

Below is a demonstration of how one might remove the lefthand tags from jupyter notebooks when porting it through the Pelican site generator.

from bs4 import BeautifulSoup
import re
myString = '
In []
Let\'s see how this goes
'

Below there is a fix and an issue together, the fix being a way to get rid of the sidebar 'In []' message which occurs with every notebook processed through nbconvert.

The only current issue is that if the presentation is done through the pelican-ipynb package, the html strings are not escaped. Hopefully I'll have some time to fix the issue and issue a corresponding pull request sometime soon.

# Using beautiful soup to filter text
soup = BeautifulSoup(myString, 'html.parser')

for i in soup.findAll('div', {'class': 'prompt input_prompt'}):
    i.decompose()

for i in soup.findAll('div', {'class': 'input'}):
    print(i.extract())
Let's see how this goes