posativ / acrylamid

(unmaintained) static blog generator in python with incremental rendering ⛺
http://posativ.org/acrylamid/
Other
277 stars 40 forks source link

Design question with writing a IPython notebook plugin #211

Open tlnagy opened 10 years ago

tlnagy commented 10 years ago

Hello, I was hoping to write an addition to Acrylamid to add support for including IPython notebooks in articles (in a similar manner to @jakevdp 's excellent plugin for Pelican). I intend to add the feature so that something like this could be included in an article:

 {% ipynb somefile.ipynb %}

which would then insert the notebook. IPython notebooks require a great deal of additional CSS and JS to function, but after an initial skimming of the documentation, I believe I could do this fairly easily in Acrylamid. Do you have any suggestions whether I should write this "plugin" as a 'view' or 'filter'? I'm leaning towards the former because I will need insert the notebook's CSS and JS into the header.

posativ commented 10 years ago

Hi,

I never used IPython Notebook though – in Acrylamid there is a distinction between content and layout, a filter transforms your content, while a view renders and concatenates multiple files. Assets are (mostly) copied as-is. If Ipython Notebook just generates HTML, you can write a filter that inherits from Liquid and write instructions on how to include JS/CSS.

I hope my answer was helpful.

tlnagy commented 10 years ago

Thank you, that makes sense. I'll have to do some digging to see if the CSS/JS is conserved between IPython Notebooks or not. If they are, then this should be much simpler. Quick side note, is the Liquid filter not registering properly?

In [24]: from acrylamid.filters import 
AcrylamidException  dirname             intro               os                  rstx_youtube
Filter              disable             join                pandoc              strip
FilterList          discover            log                 partial             summarize
FilterTree          get_filters         md                  pytextile           sys
LazyModule          head_offset         mdx_asciimathml     relative            traceback
Node                helpers             mdx_delins          rst                 typography
RegexList           html                mdx_subscript       rstx_code           
__filter_list       hyphenation         mdx_superscript     rstx_gist           
acronyms            index_filters       meta                rstx_sourcecode     
basename            initialize          metalogo            rstx_vimeo          
posativ commented 10 years ago

The liquid filter is only available in the master branch and there has been no release since a while (mainly due to a few time-consuming tasks still open).