Introduce the plugin Joplin Publisher

Introduce a recently completed plugin, which publishes some of Joplin's notes as a web blog. It is based on the previous mark-magic implementation but only requires a Joplin and GitHub account, without the need to use any command line.

Download jpl

Introduction for details.


Introduction

Publish Joplin notes to GitHub and automate build deployment through GitHub Actions.

Usage

GitHub

  1. If you haven't already, register for a GitHub account.

  2. Use the template project joplin-blog-template as a template to create a new repository named <github username>.github.io

  3. Modify Settings > Pages > Build and deployment, select GitHub Actions

  4. Create a GitHub token, at least select content and <github username>.github.io repository permissions, copy the token after creation

Joplin

  1. Install the plugin

  2. Open Joplin > Settings > Plugins > Publisher, and set GitHub token/username/repo respectively

  3. Select a note and add the blog tag

  4. Click Tools > Publish to GitHub to publish

Wait for two minutes, then you can go to <github username>.github.io to see your published note.

You can continue to add the blog tag to notes you want to publish and rerun Publish to GitHub to update the notes on the website.

14 Likes

Do you have document on how to update landing page, theme and other tab links (like About section) ?

Since the rendering is done using Hexo, you can configure it in the forked GitHub repository. The current theme in use is Fluid, and you can also modify the corresponding theme configuration.

For example, to change the title of the site, you can modify the title in _config.yml.

If you want to update the background image of the homepage, you can modify index.banner_img in _config.fluid.yml.

References:

1 Like

Thanks for this plugin! I've been looking for an easy way to seamlessly integrate my notes into a blog.

I managed to get the site running, following your instructions. However, I can't figure out how I can edit the theme config file because _config.fluid.yml as shown in your screenshot does not exist anywhere in my repository. I've tried manually creating a new _config.fluid.yml and copying over the contents as per theme documentation, but this only results in a blank page and a couple of permission related errors (see my screeshot). Sorry, if I'm missing something obvious, I have no experience with git/github. Any help would be greatly appreciated.

Could you please share your GitHub repository address? I will go check it out.

1 Like

I fear I might've screwed with things I didn't understand properly, so I created a new repo. Still having the same issue though:

https://github.com/jamie-bear/jamie-bear.github.io

Thanks you for your effort!

The problem just resolved itself, actually. I recreated _config.fluid.yml from the source / theme doc and now it seems to work just fine. I must've made a mistake when I originally copied & saved the code for _config.fluid.yml and accidentally carried that over to the new repo. So, I guess it was user error (as usual) :person_facepalming:t4:

How to custom the fluid theme , I can't see the _config.fluid.yml file.

As I understand it right now, you need to create _config.fluid.yml manually in the main directory and copy this code as referenced in the theme documentation :

If your Hexo version >= 5.0.0(hexo -v), please create _config.fluid.yml in the blog directory and copy the content of our theme's_config.yml into it.

This wasn't specified in the plugin instructions, but it worked for me.

Thank you . I will try it later. I'm testing this method compare with the Pages Publisher Plugin.

I'm contemplating if I can switch to a more streamlined Hexo theme, yet not as rudimentary as the default theme offered by Pages Publisher.

Since I am currently using a Hugo blog, I don't want to make the excerpts from Joplin notes appear as formal as a serious blog.

@jamiebear @hyruo Sorry, my mistake, I didn't copy the default configuration file _config.fluid.yml. But I just fixed it. If you re-fork the repository or merge the upstream updates, this configuration file will appear!

1 Like

Well done! This is by far the quickest and most convenient method I've seen for publishing a Hexo blog. After trying this method, I immediately used another Hexo theme to set up a notes website. Thank you for your work! Additionally, I referenced your plugin documentation to write a blog post introducing this plugin.

1 Like

Really cool idea!
I don't really like Github though (owned by Microsoft). Do you think you could support exporting to files so we can self-host them? Or maybe publish using FTP?

1 Like

Certainly, I can support other git-based cloud services such as GitLab if given the opportunity, but it is unlikely that I would be able to support FTP.

1 Like

Release 1.1.0, publish to official plugin store.

ref: Release joplin-publisher@v1.1.0 · rxliuli/joplin-utils · GitHub


Official plugin store page: https://joplinapp.org/plugins/plugin/rxliuli.joplin-publisher/

1 Like

Release 1.1.5, Support hash links in Joplin notes, such as [test 1](:/test2#hash). ref isssue: https://github.com/mark-magic/mark-magic/issues/8

Hi, @rxliuli

I followed your instructions as best I could.

I'm getting an error in Joplin when I try to publish to Github:

"Failed to pull remote repository"

Any ideas how to fix?

@LeoW Check the logs for any errors.


I also suspect this is a network or configuration error. Can you manually try the following command in the command line to check if it's a network issue?

git pull <https://github.com/<github username>/<github repo>.git>

Hi, @rxliuli

The log file is gibberish to me.
There is also an error log with more stuff in it.

I installed git for windows, which was not installed.

Here are the results:
C:\Users\dking>git init
Initialized empty Git repository in C:/Users/dking/.git/

C:\Users\dking>git pull GitHub - leowankerddd/Joplinblog
remote: Enumerating objects: 36, done.
remote: Counting objects: 100% (36/36), done.
remote: Compressing objects: 100% (28/28), done.
remote: Total 36 (delta 3), reused 23 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (36/36), 494.43 KiB | 2.23 MiB/s, done.
From GitHub - leowankerddd/Joplinblog

  • branch HEAD -> FETCH_HEAD

C:\Users\dking>git pull GitHub - leowankerddd/Joplinblog
From GitHub - leowankerddd/Joplinblog

  • branch HEAD -> FETCH_HEAD
    Already up to date.

Here is the info.log file too:

info.log (15.3 KB)

Configuration error, please check your GitHub username should be leowankerddd, and the repo should be Joplinblog, but now for some reason it includes leowankerddd.github.io.

Additionally, let me confirm whether you intend to customize your blog domain name? If not, you should indeed change your GitHub repo name to leowankerddd.github.io. Settings link. https://github.com/leowankerddd/Joplinblog/settings

1 Like