Nelze vybrat více než 25 témat
Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
c4ed0c48ba | před 1 rokem | |
---|---|---|
bitcoin | před 1 rokem | |
config | před 5 roky | |
db | před 5 roky | |
encoder | před 5 roky | |
export | před 1 rokem | |
feeds | před 1 rokem | |
filters | před 1 rokem | |
github | před 1 rokem | |
handlers | před 1 rokem | |
logging | před 5 roky | |
posts | před 1 rokem | |
static | před 1 rokem | |
types | před 5 roky | |
utils | před 1 rokem | |
.gitignore | před 5 roky | |
Dockerfile | před 5 roky | |
Dockerfile-sqliteweb | před 5 roky | |
LICENSE | před 5 roky | |
Makefile | před 5 roky | |
README.md | před 1 rokem | |
api.go | před 1 rokem | |
commands.go | před 1 rokem | |
config.toml | před 5 roky | |
docker-compose.yml | před 5 roky | |
docker-entrypoint.sh | před 5 roky | |
feed_commands.go | před 1 rokem | |
go.mod | před 1 rokem | |
go.sum | před 1 rokem | |
hugobot.pdf | před 1 rokem | |
jobs.go | před 1 rokem | |
main.go | před 1 rokem | |
parse_test.go | před 1 rokem | |
posts_test.go | před 1 rokem | |
scheduler.go | před 1 rokem | |
server.go | před 1 rokem |
README.md
MIRRORED FROM: https://git.blob42.xyz/blob42/hugobot
HUGOBOT
hugobot is a bot that automates the fetching and aggregation of content for Hugo data-driven websites. It has the following features:
Data fetch
- Use the
feeds
table to register feeds that will be fetched periodically. - Currently, it can handle these types of feeds:
RSS
,Github Releases
,Newsletters
- To define your own feed types, implement the
JobHandler
interface (seehandlers/handlers.go
). - Hugobot automatically fetches new posts from the registered feeds.
- The database uses Sqlite for storage. It has
feeds
andposts
tables. - The scheduler can handle an unlimited number of tasks and uses leveldb for caching and resuming jobs.
Hugo export
- Data is automatically exported to the configured Hugo website path.
- It can export data as
markdown
files orjson/toml
data files. - You can customize all fields in the exported files.
- You can define custom output formats by using the
FormatHandler
interface. - You can register custom filters and post-processing for exported posts to prevent altering the raw data stored in the database.
- You can force data export using the CLI.
API
- It uses
gin-gonic
as the web framework. - hugobot also includes a webserver API that can be used with Hugo Data Driven Mode.
- You can insert and query data from the database. This feature is still a work in progress, but you can easily add the missing code on the API side to automate inserting and querying data from the database.
- For example, it can be used to automate the generation of Bitcoin addresses for new articles on bitcointechweekly.com.
Other
- Some commands are available through the CLI (
github.com/urfave/cli
), you can add your own custom commands.
Sqliteweb interface
- See the Docker files for more information.
First time usage
- The first time you run the program, it will automatically generate the database. You can add your feeds to the Sqlite database using your preferred Sqlite GUI.
Contribution
- We welcome pull requests. Our current priority is adding tests.
- Check the TODO section.
TODO:
- Add tests.
- Handle more feed formats:
tweets
,mailing-list emails
... - TLS support in the API (not a priority, can be done with a reverse proxy).