Giter VIP home page Giter VIP logo

nanopub's Introduction

MicroPub support for Static Blog Engine

Following long deliberation, all development will take place at https://ringdown.ascraeus.org/dgold/nanopub

Note This release removes support for syndicating to twitter.com.

This php script provides micropub support for Static Site Generators. Incoming posts are rewritten to a suitable front-matter format and saved to the user's content store.

Currently, the script will handle the following indieweb functions:-

  • notes
  • articles
  • replies, adding the title of the article/note you are replying to. Replies can be syndicated to external services.
  • photos, note that this functionality requires the use of JSON-posts. nanopub is not presently equipped to handle multipart uploads
  • checkins, this functionality is heavily informed by OwnYourSwarm and the format that service uses
  • bookmarks
  • like-of
  • repost

nanopub offers the following functionality as described in the formal Micropub Specification

Required

  • Supports header and form parameter methods of authentication
  • Supports creating posts using x-www-form-urlencoded syntax

Optional

  • Supports updating and deleting posts
  • Supports JSON syntax and source content query
  • Supports replacement and deletion of limited set of properties
  • As it uses a separate Media Endpoint it provides configuration query

Full implementation report is available on micropub.rocks

nanopub additionally supports syndication of content to external silos. Currently it provides syndication to Mastodon, although it also provides a framework implementation for any modern API-based endpoint. An example is provided of the script pinging the micro.blog service to update the user's feed.

The code is self-explanatory and documented, and can be adjusted easily to meet different needs.

Installation

Please refer to the Installation Notes

Client Notes

nanopub expects data inputs in accordance with the current (May 2017) Micropub Spec, and does not gracefully handled deprecated formats. In particular:

  • mp-slug, not slug when setting the content of the slug property
  • mp-syndicate-to not syndicate-to when setting syndication targets for POSSE

Any errors resulting from use of the deprecated formats are a matter for the client.

TODO

  • Make a setup.php script to complete the required configuration settings.
  • Implement rsvp's, itineraries &c

Author

Licences

Acknowledgments

  • The IndieAuth validation sequence was taken from Amy Guy's Minimal Micropub, without which I couldn't have done this.
  • All at the #indieweb and #indieweb-dev IRC channels, who provide inspiration and support in equal measure.
  • @lyda

Changes

Version Date Notes
2.0.1 2019-01-04 Changed licence to BSD 3-Clause Clear
2.0.0 2018-08-09 Removed support for syndication to twitter
1.5.1 2018-04-12 Clarified Installation & packaged vendor files
1.5 2018-02-01 Added configurable frontmatter, currently json or yaml
1.4 2018-01-26 Extended for weather reporting, and rich-context likes/reposts
1.2 2018-01-02 Expansion to include repost & like posts.
1.1 2017-11-14 Rewrite of script to remove redundant and repetitive code.
FIX: Added a getallheaders() replacement for web servers without apache functions
1.0 2017-10-17 First official release.

If someone is able to show me that what I think or do is not right, I will happily change, for I seek the truth, by which no one ever was truly harmed.
โ€“ Marcus Aurelius, Meditations, VI.21

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.