List for cgit developers and users
 help / color / mirror / Atom feed
From: katsuya.horiuchi.biz at gmail.com (Katsuya Horiuchi)
Subject: Render Jupyter notebook in tree
Date: Sat, 29 Dec 2018 01:32:21 +0900	[thread overview]
Message-ID: <CAFaR55qaudy-xTJHs7qq1VTj-9NreFMX_3h7gQDdyGZumfLmJw@mail.gmail.com> (raw)
In-Reply-To: <20181228155443.GA15688@STATENS_laptop>

Thanks for your input, Hugo.
I put the following block to syntax-highlighting.py and it worked:

----------
import subprocess

if filename[-6:] == '.ipynb':
    cmd = subprocess.Popen(
        'jupyter-nbconvert --stdin --to html --stdout',
        shell=True,
        stdin=subprocess.PIPE,
        stdout=subprocess.PIPE
    )
    stdout, _ = cmd.communicate(input=data.encode('utf-8'))
    if stdout:
        sys.stdout.write('''
</code></pre></td></tr></table>
<style>
        .blob { display: none; }
</style>
''')
        sys.stdout.write("<div>")
        sys.stdout.write(stdout.decode('utf-8'))
        sys.stdout.write("</div>")
        sys.stdout.write("<table class='blob'><tr><td><pre><code>")
        sys.exit(0)

----------

If converting notebook to html doesn't work for whatever reason,
nothing will happen.
Anyone thinks this is too complex to add to the default filter?


Best,
K

On Sat, Dec 29, 2018 at 12:55 AM Hugo H?rnquist <hugo at lysator.liu.se> wrote:
>
> That could be a nice feature to have. But I'm not sure that
> it's something that should be there by default.
>
> Anyway, I personally run a filter which renders out org-mode
> files in tree view. It's a bit slow, and lacks a good way to
> add CSS.
>
>         ...
>         extension=${REQUEST_URI: -3}
>
>         case $extension in
>                 org)
>                         temp=$(mktemp)
>                         cat - > $temp.org
>                         emacs $temp.org \
>                                 --quick \
>                                 --batch \
>                                 --funcall org-html-export-to-html \
>                                 --kill
>                         tail -n+10 $temp.html
>                         exit 0
>                         ;;
>         esac
>
>         exec highlight --force -f -I -O xhtml -S "$EXTENSION" # 2>/dev/null
>
>
> On Fri, Dec 28, 2018 at 10:48:22PM +0900, Katsuya Horiuchi wrote:
> > Hi all,
> >
> > Is there demand to render Jupyter notebooks in tree view?
> > I personally would love to see them rendered just like GitHub.
> >
> > It can be achieved by calling nbconvert [0] inside the filter.
> > Considering there's ongoing discussion on rendering markdown files, I
> > think this could add additional value to cgit.
> >
> > [0] https://github.com/jupyter/nbconvert
> >
> >
> > Best,
> >
> > Katsuya
> > _______________________________________________
> > CGit mailing list
> > CGit at lists.zx2c4.com
> > https://lists.zx2c4.com/mailman/listinfo/cgit
>
> --
> hugo
> _______________________________________________
> CGit mailing list
> CGit at lists.zx2c4.com
> https://lists.zx2c4.com/mailman/listinfo/cgit


      reply	other threads:[~2018-12-28 16:32 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-28 13:48 katsuya.horiuchi.biz
2018-12-28 15:54 ` 
2018-12-28 16:32   ` katsuya.horiuchi.biz [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAFaR55qaudy-xTJHs7qq1VTj-9NreFMX_3h7gQDdyGZumfLmJw@mail.gmail.com \
    --to=cgit@lists.zx2c4.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).