this is out of date. I recommend https://github.com/andrejilderda/joplin-macos-native-theme these days.
The goal of this repo is to build the new theme in HTML and CSS, and in doing so, use it as an opportunity to review the CSS structure to make it more theme-able.
- You can see the themes in action by downloading and viewing the public folder.
- Switch the themes by changing the
index.html
file atline 8
- If you cannot see the icon font, see the "simple server" instructions below.
All the themes were built off the base theme, generally just changing the variables.
I'm not advocating for this theme, mostly showing that its really fast to take any color palette and derive a theme. This was a random palette from http://coolors.co
another random example, in this case I also simplified the indenting
This is the most complex example. In here, all the navigation elements are moved to the bottom by using a different note grid definition.
Note: The base theme design was done by a different designer, I am just implementing the CSS. More info here: designer discussion
For speed of dev, I am using pug and sass, the render folder has the working files. the public folder has the output.
to get everything linking nicely I run a python simple server from the command line
cd public
python -m SimpleHTTPServer 8002
to render pug to html. anytime you add a new ``.pug` file you need to restart
pug render/pug --out public -w -P
this uses a custom fish script, i can publish if needed
sass --update --force render/sass/:public/css/
sass --watch render/sass/:public/css/
SASS Structure
_base_layout
- this is the main structure of the body and the sidebars_note_layout
- this is the structure of the note panel_colors
- defines colors throughout_typography
- defines type throughout_actions
- defines buttons, search, and the fancy todo checkboxes
You'll notice that because it is broken up like this, you get the same classes defined more than once. I have found it much easier to work on large projects when the css is split in this way, since you are generally working on type at once, then color, etc. When they are split by class, it is harder to keep the styles tight.
initial push