Plugin for publish to Ghost site for Obsidian with a single click.
Do you like the plugin? Support me here: https://www.paypal.com/donate/?hosted_button_id=ZGJD7B5YPFLRE Or subscribe to my blog: https://hailstormsec.com/#/portal And follow me here: https://hailstormsec.com/about
- Create a custom integration follow this link. You would need an Admin API Key and API URL.
- Once you install the plugin, enable the plugin and add the API KEy and API URL to the setting.
- That's it! you now are able to publish the current document by click on the ghost icon on the sidebar or use the command pallete (CMD+P).
- Post directly from Obsidian
- Including callouts (Note: not admonitions)
- Uploads images
- Create dropdown text
- If post exist, updates it
- Create and upload Ghost cards from Obsidian
- Use the syntax bellow
- Gallery is the only one not implemented
Documented in the plugin settings.
Obsidian Ghost Publish use frontmatter to specify on how you want to publish your post.
At the moment, the format is limited to:
type: string (default: post)
title: string (default: file name)
slug: string (default: filename in lowercase and spaces = "-")
tags: (default: [])
- tag1
- tag2
featured: boolean (default: false)
published: boolean (default: false)
access: string (default: public)
excerpt: string (default: undefined)
feature_image: string (default: undefined) (URL)
meta_title: string (default: file name)
meta_description: string (default: undefined)
canonical_url: string (default: undefined)
files_upload: boolean (default: false)
type: Post/Page title: Post title slug: post-title tags: Post tags featured: Featured post (yes/no) published: Publish post, otherwise draft (yes/no) access: Post accessability (public/members/paid) excerpt: The post excerpt feature_image: Featured image of post meta_title: Title displayed to search engine result pages meta_description: Description displayed to search engine result pages canonical_url: The url displayed to search engine result pages files_upload: Upload images inside of your note to ghost. Default off to avoid duplicate pictures on server.
At the top of your obsidian note:
---
type: post
title: Example Post
slug: example-post
tags:
- Exampletag
- Test
featured: true
published: false
access: paid
excerpt: This is a test post with the goal of showcasing this plugin
feature_image: https://myblog.com/content/images/2023/09/example.png
meta_title: Example Post - MyObsidian Blog
meta_description: Struggeling to submit content to ghot? We will show you in this article!
canonical_url: https://myblog.com/example-post-but-better
files_directory: /example-post-images
files_upload: true
---
At the bottom of the page you will find the markdown file with the syntax used to create the page: https://hailstormsec.com/style-guide
- Clone this repo.
npm i
oryarn
to install dependenciesnpm run dev
to start compilation in watch mode.
- Run
npm run build
- Copy over
main.js
andmanifest.json
to your vaultVaultFolder/.obsidian/plugins/your-plugin-id/
.
Q: Why doesn't my images upload? A: Probably due to your CORS settings. Double check by opening dev-tools in obsidian (CTRL+SHIFT+I) If you have control over the server you can implement these nginx settings.
Q: Some elements look ugly, can I fix that? A: The majority of elements created with this plugin uses ghosts own css classes (class="kg-..."). In the ghost headers you can override anything you're not happy with. If it doesn't use a ghost class, you can simply override the element:
<!-- Example -->
<style>
.kg-embed-card {
/* your-css */
}
table {
/* your-css */
}
</style>
Q: Why is the first image getting removed? A: I have a featured image on my posts even in obsidian, but to prevent getting two of the same image in ghost, the plugin removes the first image in the note.
- For feature requests, please take use of Discussions.
- For any issues with current versions, please use Issues.
Major credits to the original developer Jay and Bram for initial fork with added functionality and assistance.