markdown-to-graphcool
Usage
Local install
git clone git@github.com:graphcool/markdown-to-graphcool.gitcd markdown-to-graphcoolyarnnpm link
Running
export GRAPHCOOL_PROJECT_ID="____"export GRAPHCOOL_PAT="___"markdown-to-graphcool --content <dir>
Options
--content, -c
: Content directory--base, -b
: Base directory for itemsourceFilePath
(defaults to content directory)--reset
: Deletes all existing items & subitems
Example content item
---alias: a123456789 # must be 10 charspath: /docs/guides/simplelayout: BLOGpreview: img.jpg # optionaltitle: Setting up a GraphQL backend in 5 minutes # optional - defaults to `h1` tagshorttitle: Setup Backend # optional - defaults to titledescription: This is a mildly long descriptionbeta: true # optional, is false by defaultpublication_date: '2017-01-05T15:46:38.155Z' # only valid but needed for BLOG layoutsimple_relay_twin: a123456789 # optional (only valid for REFERENCE layout)tags: - relay - platformrelated: more: - a123456789 - b123456789 further: - b123456789 - a123456789--- # Relay tutorial Some initial content. This is part of the item's `body`. <!-- alias:middle-section --> ## Sub headlines (with parentheses) Some middle selection. This is the body of the subitem's `body` with `alias` "middle-section". [This is a link](!alias-b123456789) to item with alias "b123456789". You can even [link](!alias-b123456789#sub-headlines-with-parentheses) to headline anchors. <!-- alias:some-end --> This is the end 🎅
Server
type Item { id: ID! body: String! alias: String! tags: [String!]! path: String! layout: Layout! preview: String description: String! title: String! shorttitle: String! hash: String! sourceFilePath: String! lastModified: DateTime! subitems: [Subitem!]! relatedMore: [Item!]! relatedFurther: [Item!]! beta: Boolean! publicationDate: Date simpleRelayTwin: String} type Subitem { id: ID! body: String! alias: String! item: Item!} enum Layout { BLOG, TUTORIAL, REFERENCE, FAQ }