Skip to content

Latest commit

 

History

History
89 lines (65 loc) · 1.99 KB

README.md

File metadata and controls

89 lines (65 loc) · 1.99 KB

Hydra: A command-line manager for Hugo

The aim of hydra is to keep it simple and clean, but still provide a slick blogging experience.

Currently, the interface is a very basic REPL with ideas to have a TUI in the future.

Roadmap

  • Load and display posts
  • Edit posts from list
  • Manage multiple sites specified in config file
  • Create new posts
  • Delete posts
  • Browse/sort by date, draft status

Future features:

  • Publish drafts from post list
  • Synchronise using Git
    • Github pages deploy
  • Tag/category manager
  • Interactive TUI

Prerequisites

Dependencies:

hugo >= v0.80.0

The now shelved TUI for hydra was built with the wonderful tcell package by Garret D'Amore.

Configuration

Currently, hydra does not have a configuration wizard, but it automatically loads the configuration file at ~/.config/hydra.json. The config file itself is very straightforward:

{   
    "extension": "org",
    "editor":{
        "command": "/path/to/editor",
        "args": ""
    },
    "sites": [
        {"name":"Site one", "path":"/path/to/site/"},
        {"name":"Site two", "path":"/path/to/site2/"}
    ]
}

Note: the name of the site in the config file can be any name that you choose. It is there to help you distinguish between different sites.

Installation

If you have added the Go install directory to your $PATH then installation is as easy as:

go install

Usage

make run

or

make build
./bin/hydra

Running tests

If you are hacking on hydra, there are some useful make rules to know about:

  • make test: runs go test for every file
  • make verify: runs golint for the project

Contributing

No PRs will be accepted at this time, but you are more than welcome to open issues and muck about.

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.