🚀 Launch Week Day 4:Introducing the Alert Details Page: A Better Way to Explore Alerts.Learn More →
Socket
Book a DemoInstallSign in
Socket

lanterns

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lanterns

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

latest
Source
npmnpm
Version
1.1.0
Version published
Maintainers
1
Created
Source


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

Keywords

markdown

FAQs

Package last updated on 11 Mar 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts