Code Monkey home page Code Monkey logo

stegodon's Introduction

screenshot

stegodon

stegodon is a simple, single user blog tui-application written in Golang, using the wonderful Charm Tools. It allows users to create notes, as well as view them in a clean and easy to navigate console interface. It is also possible to subscribe to these notes via RSS and to federate via ActivityPub (WIP!)

Features

  • Create and view notes
  • Subscribe via RSS
  • Delete, update notes (TBD)
  • Subscribe via ActivityPub (TBD)
  • Markdown support for post formatting (TBD)
  • Customizable theme and layout options (TBD)

Installation

  1. Clone the repository: git clone https://github.com/deemkeen/stegodon
  2. Install dependencies: go get -d
  3. Build the application: go build
  4. Start the server: ./stegodon

Usage

Once the server is started, open an ssh session via ssh 127.0.0.1 -p 23232 to access the application. You will be authenticated with your own ssh key. On your first login it is necessary to choose a username. From there, you can create the notes. After adding notes, you can get an RSS-Feed with your personal notes via http://127.0.0.1:9999/feed?username=<youruser>

stegodon can be used as a multiuser system, if you expose your server to the internet. Every user will get a dedicated account, accessible with the personal ssh user key. An aggregated RSS-Feed with all user notes is accessible via http://127.0.0.1:9999/feed

Custom configuration can be applied by setting the following environment variables:

  • STEGODON_HOST (your local server ip, default: 127.0.0.1)
  • STEGODON_SSHPORT (ssh login port, default: 23232)
  • STEGODON_HTTPPORT (http port, default: 9999)
  • STEGODON_SSLDOMAIN (your optional hosted ssl domain, default: example.com)
  • STEGODON_WITH_AP (turn on ActivityPub functionality, default: false)

Tech

The SSH login functionality is provided by wish. The TUI is powered by bubbletea and lipgloss. stegodon persists all the data in a local SQLite database, which can be deleted, if you want to wipe all your notes.

For optimal results, it's recommended to use a terminal with:

  • True Color (24-bit) support;
  • at least 160 columns and 50 rows.

LICENSE

MIT

Contributing

Contributions are welcome! Please open a pull request or issue on the GitHub repository. As a Java developer, this is my first Golang App, so don't be too hard on me about the code ;)

stegodon's People

Contributors

deemkeen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

stegodon's Issues

[FEATURE REQUEST]

Maybe some file where you could add IPs + SSH Keys to allow other devices to connect to the same blog account to publish from other locations?

Hope this project isn't dead, cause it looks promising if it can be revived

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.