aaadonai / indiekit

An IndieWeb publishing toolkit

Home Page:https://getindiekit.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Indiekit

Build status

Indiekit is a small but powerful server that acts as the go-between your website and the wider independent web. Using IndieWeb protocols and standards, Indiekit lets you:

  • publish content to your website using applications like iAWriter, Micro.blog, Icro, Indigenous and other tools that support the Micropub API
  • accept likes, comments and other feedback on your content using Webmentions
  • syndicate content to social networks like Twitter, Mastodon and LinkedIn

Features

  • Create, update and delete posts
  • Upload files
  • Configure different post types
  • Accept post status and visibility
  • Review previously published posts and files
  • Bookmarklet to save and share bookmarks
  • Publish to different content stores (GitHub and GitLab)
  • Support for popular static site generators (Jekyll, Hugo, 11ty)
  • Localised to different languages
  • Plug-in API

Requirements

  • Node.js v12+

Install

npm install @indiekit/indiekit

Read our guide: Setting up your Indiekit server.

Demo

If you want to see how Indiekit works, deploy this application to Heroku.

This assumes you’ll be saving files to GitHub and publishing to a Jekyll (or similar) static site generator.

Clicking the button below will guide you through the process.

Deploy

You’ll be asked to provide the following values:

  • GITHUB_TOKEN - A GitHub personal access token
  • GITHUB_USER - Your username on GitHub
  • GITHUB_REPO - Name of the repository where you want to save files
  • PUBLICATION_URL - URL of the website you want to publish to

Local development

npm start

If you’re developing a new feature, and want the application to automatically restart whenever a file change is detected, use npm run dev.

Testing

npm test

The following environment variables need to be set before running tests:

  • TEST_PUBLICATION_URL
  • TEST_BEARER_TOKEN
  • TEST_BEARER_TOKEN_NOSCOPE

TEST_BEARER_TOKEN and TEST_BEARER_TOKEN_NOSCOPE provide IndieAuth access tokens whose me value matches that set in TEST_PUBLICATION_URL.TEST_BEARER_TOKEN should provide scoped permissions create update delete, whereas TEST_BEARER_TOKEN_NOSCOPE should provide no permissions at all.

Homebrew Access Token is a useful tool for creating access tokens for this purpose.

Credits

Developed by Paul Robert Lloyd.

Thank-you to Aron Carroll for mentoring me during the development of this project. Indiekit is a much better project for his feedback and advice.

Similar projects

Indiekit is inspired by similar projects made by members of the IndieWeb community, all of which you are encouraged to try:

About

An IndieWeb publishing toolkit

https://getindiekit.com

License:MIT License


Languages

Language:JavaScript 77.9%Language:HTML 11.8%Language:CSS 10.3%