lanterns

1.1.0 • Public • Published


Lanterns


Lanterns Build Status

Write Markdown and get a GraphQL API for querying them for free

Deploy to now

Install

$ npm install --global lanterns

Usage

Create a folder for storing your Markdown files and name it documents:

mkdir documents

Create a file and name it according to [year]-[month]-[day]-[slug] format, then write the contents:

---
title: Hello World
category: News
---
 
This is my first post!

Run Lanterns:

$ lanterns
❯ Server is listening at port 3000

Execute GraphQL queries at http://localhost:3000/graphql:

{
    query {
        documents {
            title
            slug
            category
            body
        }
    }
}

Schema

Document

Document represents a single Markdown file in the file system.

type Document {
    # Title extracted from frontmatter's `title`
    title: String!
    # Title converted to a slug
    slug: String!
    # Category extracted from frontmatter's `category`
    category: String
    # All frontmatter fields
    frontmatter: JSON!
    # Document body without frontmatter
    body: String!
    # Date when a document was created
    createdAt: Date!
    # Date when a document was last updated
    updatedAt: Date!
}

documents(skip: Int, limit: Int)

Query documents with optional pagination parameters skip and limit.

Example:

{
    query {
        documents {
            title
            slug
            category
            frontmatter
            body
            createdAt
            updatedAt
        }
    }
}

document(slug: String!)

Query a single document by its slug.

Example:

{
    query {
        document(slug: "hello-world") {
            title
            slug
            category
            frontmatter
            body
            createdAt
            updatedAt
        }
    }
}

categories

Query all categories. This resolver scans all documents looking for category field in frontmatter, removes duplicates and returns the list.

License

MIT © Vadim Demedes

Package Sidebar

Install

npm i lanterns

Weekly Downloads

3

Version

1.1.0

License

MIT

Unpacked Size

9.45 kB

Total Files

10

Last publish

Collaborators

  • vdemedes