How to use gridsome - 8 common examples

To help you get started, we’ve selected a few gridsome examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github gridsome / gridsome / packages / source-graphql / transforms.js View on Github external
transformSchema (schema) {
    const query = schema.getQueryType()

    let newQuery // eslint-disable-line
    const nestedType = new GraphQLObjectType({
      name: this.typeName,
      fields: () =>
        fieldMapToFieldConfigMap(
          query.getFields(),
          createResolveType(typeName => {
            if (typeName === query.name) {
              return newQuery
            } else {
              return schema.getType(typeName)
            }
          }),
          true
        )
    })
    newQuery = new GraphQLObjectType({
      name: query.name,
github gridsome / gridsome / packages / transformer-remark / lib / types / HeadingType.js View on Github external
const {
  GraphQLInt,
  GraphQLString,
  GraphQLEnumType,
  GraphQLObjectType
} = require('gridsome/graphql')

const HeadingType = new GraphQLObjectType({
  name: 'RemarkHeading',
  fields: {
    depth: { type: GraphQLInt },
    value: { type: GraphQLString },
    anchor: { type: GraphQLString }
  }
})

const HeadingLevels = new GraphQLEnumType({
  name: 'RemarkHeadingLevels',
  values: {
    h1: { value: 1 },
    h2: { value: 2 },
    h3: { value: 3 },
    h4: { value: 4 },
    h5: { value: 5 },
github gridsome / gridsome / packages / source-graphql / transforms.js View on Github external
const nestedType = new GraphQLObjectType({
      name: this.typeName,
      fields: () =>
        fieldMapToFieldConfigMap(
          query.getFields(),
          createResolveType(typeName => {
            if (typeName === query.name) {
              return newQuery
            } else {
              return schema.getType(typeName)
            }
          }),
          true
        )
    })
    newQuery = new GraphQLObjectType({
      name: query.name,
      fields: {
        [this.fieldName]: {
          type: nestedType,
          resolve: (parent, args, context, info) => {
            return {}
          }
        }
      }
    })
    const typeMap = schema.getTypeMap()
    const allTypes = Object.keys(typeMap)
      .filter(name => name !== query.name)
      .map(key => typeMap[key])

    return new GraphQLSchema({
github gridsome / gridsome / packages / transformer-remark / lib / types / HeadingType.js View on Github external
GraphQLInt,
  GraphQLString,
  GraphQLEnumType,
  GraphQLObjectType
} = require('gridsome/graphql')

const HeadingType = new GraphQLObjectType({
  name: 'RemarkHeading',
  fields: {
    depth: { type: GraphQLInt },
    value: { type: GraphQLString },
    anchor: { type: GraphQLString }
  }
})

const HeadingLevels = new GraphQLEnumType({
  name: 'RemarkHeadingLevels',
  values: {
    h1: { value: 1 },
    h2: { value: 2 },
    h3: { value: 3 },
    h4: { value: 4 },
    h5: { value: 5 },
    h6: { value: 6 }
  }
})

module.exports = {
  HeadingType,
  HeadingLevels
}
github gridsome / gridsome / packages / transformer-remark / index.js View on Github external
extendNodeType () {
    return {
      content: {
        type: GraphQLString,
        resolve: node => this._nodeToHTML(node)
      },
      headings: {
        type: new GraphQLList(HeadingType),
        args: {
          depth: { type: HeadingLevels },
          stripTags: { type: GraphQLBoolean, defaultValue: true }
        },
        resolve: async (node, { depth, stripTags }) => {
          const key = cacheKey(node, 'headings')
          let headings = cache.get(key)

          if (!headings) {
            const ast = await this._nodeToAST(node)
            headings = findHeadings(ast)
            cache.set(key, headings)
          }

          return headings
            .filter(heading =>
github gridsome / gridsome / packages / source-contentful / lib / types / rich-text.js View on Github external
const { documentToHtmlString } = require('@contentful/rich-text-html-renderer')
const { GraphQLScalarType } = require('gridsome/graphql')

const ContentfulRichTextField = new GraphQLScalarType({
  name: 'ContentfulRichTextField',
  serialize: value => value
})

module.exports = options => ({
  type: ContentfulRichTextField,
  args: {
    html: { type: 'Boolean', defaultValue: false }
  },
  resolve (obj, args, context, info) {
    const value = obj[info.fieldName]

    const json = typeof value === 'string'
      ? JSON.parse(value)
      : null
github gridsome / gridsome / packages / source-graphql / transforms.js View on Github external
name: query.name,
      fields: {
        [this.fieldName]: {
          type: nestedType,
          resolve: (parent, args, context, info) => {
            return {}
          }
        }
      }
    })
    const typeMap = schema.getTypeMap()
    const allTypes = Object.keys(typeMap)
      .filter(name => name !== query.name)
      .map(key => typeMap[key])

    return new GraphQLSchema({
      query: newQuery,
      types: allTypes
    })
  }
}

gridsome

A JAMstack framework for building blazing fast websites with Vue.js

MIT
Latest version published 4 years ago

Package Health Score

53 / 100
Full package analysis