ohseesoftware/oh-see-gists

A Statamic v3 add-on to use GitHub's Gists to host code blocks.

Installs: 320

Dependents: 0

Suggesters: 0

Security: 0

Stars: 4

Watchers: 2

Forks: 3

Open Issues: 2

Type:statamic-addon

v3.2.0 2021-06-16 14:15 UTC

This package is auto-updated.

Last update: 2024-05-10 18:34:21 UTC


README

Current Release Build Status Badge Coverage Status Maintainability Score Downloads MIT License

Use GitHub Gists to embed your code snippets on your site. Example: https://ohseemedia.com/posts/hooks-can-only-be-called-inside-the-body-of-a-function-component-reactjs-error/

Installation

Install the add-on:

composer require ohseesoftware/oh-see-gists

Publish the add-on's assets:

php artisan vendor:publish --tag=oh-see-gists

This will publish:

  • a config file for the GitHub API
  • views in the resources/views directory
  • fieldsets in the resources/fieldsets directory

Usage

Add your GitHub token to your .env file

You'll need to create a new personal access token. You can do so here: https://github.com/settings/tokens/new.

The token only needs the gist scope.

Add the token as OH_SEE_GISTS_GITHUB_TOKEN in your .env file.

Add the fieldset to your blueprint(s)

The fieldset that will be published is named gist_block. You will need to update your blueprints to reference the fieldset wherever you want it to be used. As an example in bard:

type: bard
sets:
  gist_content:
    display: Gist
    fields:
      - import: gist_block

Naming

There are two very important naming conventions you have to follow:

  • The gist_content name for the fieldset is very important. The add-on references this key so you cannot change it.
  • Your bard block has to be named content for the add-on to save to your GitHub Gists. Otherwise, you will be just creating code blocks on your Statamic site.

Use the partial in your templates

The add-on publishes a partial for you to use in your templates to render the Gists. You can use it like so:

{{ bard_content }}
    {{ if type == "gist_content" }}
        {{ partial src="partials/gist_content" }}
    {{ /if }}
{{ /bard_content }}