@nilesh_s_techjoomla/gatsby-source-joomla-articles

Gatsby source plugin for building websites using the Joomla articles as a data source.


Keywords
gatsby, gatsby-plugin, gatsby-source-plugin
License
ISC
Install
npm install @nilesh_s_techjoomla/gatsby-source-joomla-articles@1.0.0

Documentation

gatsby-source-joomla-articles

Source plugin for pulling data into Gatsby from Joomla(Articles) sites using the Rest API.

Articles and custom Fields

This module currently pulls the following entities from Joomla(Articles):

  • All entities are supported by Jommla articles(Tags,Custom fields)

Install

npm install

How to use

you need to add the plugin information in the configuration of the gatsby site.(gatsby-config.js)

// In your gatsby-config.js
module.exports = {
plugins: [
  {
    resolve: `gatsby-source-joomla-articles`,
    options: {
      //URL of the Joomla project (Rest api to fetch the articles)
      baseUrl: "url",
    rowLimits:{
      //Limit:How many articles you want to fetch.
      limit:20,
      step:100,
      //Step : How many articles you want to fetch at one fetch request.
      },
    },
  }
],
}

How to query

Query for all articles

query allArticleQuery {
  allJoomlaArticle {
    edges {
      node {
        id
        title
        state
        fulltext
        access
        alias
        introtext
        language
        images {
          float_fulltext
          float_intro
          image_fulltext
          image_fulltext_alt
          image_fulltext_caption
          image_intro
        }
        tags {
          itemTags {
            title
            access
            alias
            checked_out
            checked_out_time
            created_by_alias
            version
          }
        }
        custom_fields {
          field_name {
            access
            checked_out
            checked_out_time
            context
            created_user_id
            default_value
            description
            group_id
            label
            language
            name
            note
            required
            title
          }
        }
      }
    }
  }
}

Query for single article

query ArticleQuery {
    joomlaArticle {
      title
      access
      alias
      featured
      fulltext
      hits
      id
      publish_up
      state
      catid {
        catid
        title
      }
      images {
        float_fulltext
        float_intro
        image_fulltext
        image_fulltext_alt
        image_fulltext_caption
        image_intro
      }
      internal {
        content
        description
        fieldOwners
      }
      introtext
      language
      modified
      publish_down
      parent {
        id
      }
      tags {
        itemTags {
          title
          access
          alias
          checked_out
          checked_out_time
          created_by_alias
          version
        }
      }
     
    }
  }
}