[ANN] PlutoStyles.jl: override styles of Pluto notebooks

I think @aplavin meant unfocused or something along that line with “inactive”.

Are you instead referring to the disable feature you did introduce recently?

If you look at the latest screenshot from him none of the cells seem disabled but is abyway strange that all cella show the footer even if they are not focused or containing unsaved code

Looks like I played with z-index wrong on my first try (: Now it works!
A new PlutoStyles version is available, with the popup menu to the left.

As for cell timings, I actually like that they are always visible. But tried digging in with the browser devtools to understand why anyway. These style lines are shown as active for me:

My guess is the any-pointer: coarse condition at

is satisfied because all my devices (laptop and tablet) have a touchscreen.


I changed my plutostyles alias so that I can run it alongside the normal version.

alias plutostyles='julia --project=@. -e "using PlutoStyles
if length(ARGS) > 0
    notebook = ARGS[1]
    Pluto.run(notebook=joinpath(pwd(), notebook); port=1235)
    Pluto.run(; port=1235)

I don’t see a new version. Are you sure you did git push? :slight_smile:

Sure! These lines contain the new styles:

For some weird reason it looks like the commit where you added this things on gitlab appear as “authored 6 months ago”, exactly at midnight GMT of the beginning of the year:


Yes, that’s intended.
I’m not comfortable sharing exact details (date & time) of all my open-source commits with every person in the world, see Publish packages without complete commit history for some discussion. So I do all development in private github repos, and have a script (using GitFiterRepo.jl) that transfers the repo to gitlab, rounding all dates to the year.
That makes it still possible to see the commits history - without exact dates, but year is enough to tell whether the project is abandoned long ago or not.


Ah I see, interesting to know this is possible!

You know best how you want to work, but to me a repo where last commits are six months ago looks somewhat abandoned. It’s also pretty hard to know it has been updated since last I looked, especially since you don’t want this to be a package that I could just ] up .


I request this feature by filing an issue. However, the author directs me to use Pluto inside feedback instead. I then make a request through Pluto inside feedback. But nothing seems to change yet. Perhaps the Pluto author don’t like this kind of suggestion. I really hate the … button!

1 Like

To each his own (definition of abandoned). I hope for this package to become obsolete at some point anyway, when themes get added to pluto itself.

Can’t you really use ]up here? I though Pkg does update packages added by url as well.

Such visual changes should be possible by modifying static assets - css or js files.

I also don’t support some opinionated choices made in Pluto. But these choices and the ability to easily make them are likely major reasons of why Pluto manages to provide a fresh but consistent take on notebooks.

1 Like

Is it possible to put the output of the cell below the code using styles? And could we add, by default, a content menu?

More broadly, can the package accept new style contributions, as if they were themes, so one could just choose a theme?


Maybe, I didn’t need it myself and haven’t tried. Everyone is welcome to play with CSS and share their results.
Btw, what is “content menu” here?

Well, first I intended PlutoStyles to serve as a basis or inspiration for others, so that people create themes for themselves by modifying this package or building on top of it. But if there is indeed a demand for several styling options, I’m open to such contributions into PlutoStyles itself.

1 Like

Just tried for fun to swap output and inputs of cells.

It is quite hacky and the run-area part where the play button and the execution time of the cell get always at the bottom of the output cell, but it seems doable:

Don’t know if other things break by doing this though

1 Like

There’s a problem, and it’s that you haven’t defined a license. Currently you’ve reserved all rights.

1 Like

This one.

I see! Table of contents definitely isn’t going to be included in the styles PlutoStyles.jl applies by default, I never use/want ToC in my Pluto notebooks. As I said, alternative themes are clearly possible, with at least two different approaches.
#1: you or someone else fork my repo and add/change styles there. Others can do ]add <your_url>/PlutoStyles.jl instead of ]add https://gitlab.com/aplavin/PlutoStyles.jl then.
#2: potentially, theme selection can be added to a single PlutoStyles package.
I don’t see any advantages for #2 vs #1 though, so would prefer the first solution due to its simplicity.

Thanks for pointing out! If only all problems could be resolved as easily (:
Added a LICENSE file.


In the just-released Pluto 0.17.6 ([ANN] Pluto 0.17.6), css file paths and selectors have slightly changed. I’ve updated PlutoStyles (0.1.15) so that it continues working, which required very minor modifications. All the default style adjustments remain effectively the same.