All Projects → elliotekj → orbit

elliotekj / orbit

Licence: MIT license
A MetaWeblog API Server for Hugo

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to orbit

internet-weblog
internet weblog theme for Hugo
Stars: ✭ 33 (+32%)
Mutual labels:  hugo, microblog
Enwrite
Evernote-powered statically-generated blogs and websites
Stars: ✭ 139 (+456%)
Mutual labels:  hugo, blogging
hugo jupyter
Publish Jupyter notebooks with Hugo
Stars: ✭ 69 (+176%)
Mutual labels:  hugo, blogging
WebStack-Hugo
WebStack 网址导航 Hugo 主题,无需服务器,支持导航一键配置的纯静态网址导航网站。
Stars: ✭ 238 (+852%)
Mutual labels:  hugo
uBlogger
A template designed with your readers in mind ❤️
Stars: ✭ 242 (+868%)
Mutual labels:  hugo
jakartaone.org
JakartaOne Live is a one day virtual conference for developers and technical business leaders that brings insights into the current state and future of Jakarta EE and related technologies focused on developing cloud-native Java applications.
Stars: ✭ 13 (-48%)
Mutual labels:  hugo
contentful-hugo
A CLI tool that pulls data from Contentful and turns it into markdown files for Hugo and other static site generators. It also includes an express server that can be used for local development and content previews
Stars: ✭ 31 (+24%)
Mutual labels:  hugo
juliasilge.com
My blog, built with blogdown and Hugo 🔗
Stars: ✭ 30 (+20%)
Mutual labels:  hugo
newsroom
A simple, minimalistic Hugo theme. View Demo here
Stars: ✭ 200 (+700%)
Mutual labels:  hugo
twenty-twenty-hugo
Twenty Twenty Hugo is forked from WordPress Twenty Twenty theme. It's fully functional like the WordPress theme.
Stars: ✭ 48 (+92%)
Mutual labels:  hugo
neofeed-theme
A personal feed for Neocities, GitHub Pages, or anywhere else, built with Hugo. #IndieWeb friendly and all yours. It's better than Twitter.
Stars: ✭ 62 (+148%)
Mutual labels:  hugo
hugo-dynamic-tabs
A Hugo theme component that allows you to add dynamic tabs in your markdown files.
Stars: ✭ 36 (+44%)
Mutual labels:  hugo
cpeditor.github.io
The official website of CP Editor 📝
Stars: ✭ 17 (-32%)
Mutual labels:  hugo
liva-hugo
Liva is a personal blog template powered by Hugo.
Stars: ✭ 192 (+668%)
Mutual labels:  hugo
hucore
Minimal blog theme for hugo based on Hemingway2
Stars: ✭ 66 (+164%)
Mutual labels:  hugo
Wave
A podcast/blog theme for Ghost
Stars: ✭ 60 (+140%)
Mutual labels:  blogging
whiteplain
Simple and Functional Hugo theme.
Stars: ✭ 95 (+280%)
Mutual labels:  hugo
hugo-toha.github.io
An example hugo static site with Toha theme.
Stars: ✭ 59 (+136%)
Mutual labels:  hugo
writefreely
A clean, Markdown-based publishing platform made for writers. Write together and build a community.
Stars: ✭ 2,866 (+11364%)
Mutual labels:  blogging
mind-flow
Another try of blogging or personal knowledge base
Stars: ✭ 22 (-12%)
Mutual labels:  blogging

Orbit - A MetaWeblog API Server for Hugo

Orbit is a MetaWeblog API server for blogs powered by Hugo. It was written so that I could write and publish to my blog from MarsEdit. It supports draft posts (not a MetaWeblog standard) and MarsEdit's drag & drop image insertion. It also has built-in token verification so you can safely expose it on your server.

Jump to: Basic Usage | Post Types | Update Command | Authentication | Draft Posts| All Options

Basic Usage

  1. Download Orbit

  2. cd into the folder and run:

$ ruby app/orbit.rb -s /YOUR/HUGO/SITE/PATH
  1. Configure MarsEdit:

MarsEdit configuration

Post Types

If your blog, like mine, has multiple post types (e.g. link posts, regular posts, and microposts), you can still use Orbit. When starting Orbit, the -c flag allows you to you can specify the folder within content the post will be saved in.

Example: The following will save posts sent to port 4041 in the link folder.

$ ruby app/orbit.rb -s /YOUR/HUGO/SITE/PATH -c link -p 4041

Update Command

If you don't want to have hugo server constantly running to watch for changes (for example if you're running Orbit on your server), you can regenerate your site with a command passed to the -u flag.

Example:

$ ruby app/orbit.rb -s /YOUR/HUGO/SITE/PATH -u "cd /YOUR/HUGO/SITE/PATH && hugo"

Tip for Micro.Blog users: You can use the -u flag to ping Micro.Blog whenever you publish a new micropost

$ ruby app/orbit.rb -s /YOUR/HUGO/SITE/PATH -u "curl -d 'url=https://YOURSITE.com/microposts.json' -X POST http://micro.blog/ping"

Authentication

If you want to expose Orbit on your server (which is how I use Orbit), you'll want to take advantage of the built-in token verification. When starting Orbit, pass some secret token to the -t flag and update the API Endpoint URL in MarsEdit with a token parameter.

Example:

$ ruby app/orbit.rb -s /YOUR/HUGO/SITE/PATH -t MYSECRETTOKEN

Then in MarsEdit, if your endpoint was, for example, https://hugo.elliotekj.com/xmlrpc you'd update it to https://hugo.elliotekj.com/xmlrpc?token=MYSECRETTOKEN.

Draft Posts

Draft posts aren't a MetaWeblog standard. Orbit works around this by adding a [Orbit - Draft] category to the category list. If you use that category then when saving your post, draft will be set to true in the post's frontmatter.

All Options

  • -s PATH --src-path PATH: Path to your Hugo site (required)
  • -c FOLDER_NAME --content-folder FOLDER_NAME: Name of the folder in /content you want Orbit to serve (default: 'post')
  • -p PORT --port PORT: Port to run Orbit on (default: 4040)
  • -t TOKEN --token TOKEN: Token used for authenticating yourself (optional)
  • -u COMMAND --update-command COMMAND: Command run when your site is updated (optional)

Common Issues

MarsEdit won't load any of my old posts

Check that your front matter (the metadata block above each of your raw posts) is in YAML form. If you're not sure which format that is, check the separator between the metadata block, and your actual post. It could be +++, ---, or enclosed in { and }.

If it is not the form ending with three dashes, (---), you'll need to convert your old posts before continuing. Hugo provides a built-in tool for this: hugo convert toYAML

License

Orbit is released under the MIT LICENSE.

About

This crate was written by Elliot Jackson.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].