Skip to content

garrettc/django-wm

 
 

Repository files navigation

django-wm

Tests pypi package

django-wm lets you add Webmention functionality to your Django project with minimal setup.

Upgrading

Please check the changelog before upgrading, especially between major versions.

After upgrading remember to run the makemigrations and migrate management commands so that any changes in model/mixin definitions can be applied.

Getting started

Setup instructions.

Code for an example project.

All done? You can use the testing tool to make sure it works.

Features

  • Endpoints:

    • /webmention: Receives incoming Webmentions from other sites.
    • /webmention/get: Used to retrieve Webmentions for a page on your site.
      e.g. /webmention/get?url=/my-article will return any received Webmentions that target /my-article on your site.
      // /webmention/get?url=/my-article
      {
        "target_url": "https://my-site.org/my-article",
        "mentions": [
          {
            "hcard": {
              "name": "Jane Bloggs",
              "avatar": "https://gravatar.com/janebloggs",
              "homepage": "https://jane-bloggs-example.org"
            },
            "quote": null,
            "source_url": "https://jane-bloggs-example.org/some-article",
            "published": "2020-01-17T21:45:24.542Z",
            "type": "webmention"
          }
        ]
      }
    • /webmention/dashboard/: a simple overview of recent mentions (accessible with permission mentions.view_webmention_dashboard or publicly via settings.WEBMENTIONS_DASHBOARD_PUBLIC)
  • WebmentionHeadMiddleware adds your /webmention endpoint to the headers of your pages so that it can be discovered by other sites.

  • {% webmentions_endpoint %} template tag to include your /webmention endpoint to your Django templates HTML element.

  • MentionableMixin enables automatic submission of Webmentions to other sites when you mention them in your content.

About

Automatic Webmention functionality for Django models

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 91.2%
  • HTML 4.7%
  • Shell 3.3%
  • Other 0.8%