npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

gatsby-theme-acmeblog

v1.0.2

Published

A simple blog for AMCE (it could be a barista) with a main page, blog and about page. All with exception of the main page are `mdx`. This theme is leveraging `gatsby-theme-acmeblog-data` that is handling all the data concerns for us. Here we are "receivi

Downloads

12

Readme

gatsby-theme-acmeblog

A simple blog for AMCE (it could be a barista) with a main page, blog and about page. All with exception of the main page are mdx. This theme is leveraging gatsby-theme-acmeblog-data that is handling all the data concerns for us. Here we are "receiving" that data, shadowing gatsby-theme-acmeblog-data and styling the different components using theme-ui.

Motivation

First of all I wanted to learn how to build gatsby themes, and there is not better way to learn than doing, secondly because I loved the idea of being able to separate data concerns with ui concerns and wanted to apply that to my projects.

This is a very simple theme that takes uses gatsby-theme-acmeblog-data to build a nice UI for a webpage for AMCE, the coolest barista in town.

Installation

with npm

npm install gatsby-theme-acmeblog

with yarn

yarn add gatsby-theme-acmeblog

Usage

Theme options

| key | default value| description | |----------|-------------|------| | blogPath | /blog | defines the url (slug) for the blog posts overview page | | postsContentPath | content/posts | location of all the posts files | | postsContentThumbnail | content/images | location of all the thumbnails images used in the posts | |pagesContentPath| content/pages| location of other pages that you would like to build using mdx| |otherImagesContentPath| images | location for any other images that you would like to post in your | |tagsPath| /tags| defines the url (slug) for all existing tags, shown in a overview tags page and used for listing all posts with a certain tag (prepending it to the tag itself, e.g. /blog/tags/yourtag) | |categoryPath|/category | defines the url (slug) used for listing all posts with a certain category (prepending it to the category itself, e.g. /blog/category/yourcategory) | |postTableOfContents|false| If you would like to have a table of contents in your posts page change it to true|

How to use theme options

In gatsby-config.js you will be able to define the options

module.exports = { 
  plugins: [
    {
      resolve: "gatsby-theme-acmeblog-data",
      options: { 
        blogPath: "/anything", // the default will be /blog
        tagsPath: "/mytags", // the default will be /tags
        categoryPath: "/mycategory", // the default will be /category
        postsContentPath: "myblog/posts", // the default will be content/posts
        pagesContentPath: "myblog/pages", // the default will be content/pages
        otherImagesContentPath: "mysuperimages", // the default will be images
        postTableOfContents: true //the default is false
      }
    },
  ],
};

How to use Mdx for your posts

Url (slug) of your posts

This will be automatically generated for you and it will be the name of the mdx file created

The frontmatter will need to have the following structure

---
title: "My firstpost"
date: "2020-05-21"
category: Mdx  
tags: 
    - post
    - mdx
    - gatsby
thumbnail:  ../images/gatsby-icon.png  
---
  • title - will be the title of the blog post
  • date - will be the date that will be shown in the blog post;
  • category - defines the category of this post
  • tags - the tags that you want this particular post to have
  • thumbnail - in case you want to give the post a thumbnail

Additional configuration

In addition to the theme options the siteMetadata object is extremely useful. In our gatsby-config.js you will have the following:

siteMetadata: {
    siteTitle: `ACME`,
    siteTitleAlt: `Simple Blog - @tfs/gatsby-theme-acmeblog`,
    siteHeadline: `Simple Blog - Gatsby Theme from tiagofsanchez`,
    // siteUrl: ``,
    siteDescription: `A blogging theme with small aesthetics. Includes tags and categories support`,
    siteLanguage: `en`,
    siteImage: `./images/logo.png`,
    author: `tiagofsanchez`,
    navigation: [
      {
        title: `blog`,
        slug: `/blog`,
      },
      {
        title: `about`,
        slug: `/about`,
      },
    ],
    externalLinks: [
      {
        name: `LinkedIn`,
        url: `https://www.linkedin.com/in/tiagofsanchez/`,
      },
      {
        name: `Twitter`,
        url: `https://twitter.com/tiagofsanchez`,
      },
    ],
  },

Overall example

Example being used

module.exports = {
  siteMetadata: {
    siteTitle: `ACME`,
    siteTitleAlt: `Simple Blog - @tfs/gatsby-theme-acmeblog`,
    siteHeadline: `Simple Blog - Gatsby Theme from tiagofsanchez`,
    // siteUrl: ``,
    siteDescription: `A blogging theme with small aesthetics. Includes tags and categories support`,
    siteLanguage: `en`,
    siteImage: `./images/logo.png`,
    author: `tiagofsanchez`,
    navigation: [
      {
        title: `blog`,
        slug: `/blog`,
      },
      {
        title: `about`,
        slug: `/about`,
      },
    ],
    externalLinks: [
      {
        name: `LinkedIn`,
        url: `https://www.linkedin.com/in/tiagofsanchez/`,
      },
      {
        name: `Twitter`,
        url: `https://twitter.com/tiagofsanchez`,
      },
    ],
  },
  
  plugins: [
    `gatsby-plugin-theme-ui`,
    `gatsby-plugin-sharp`,
    `gatsby-transformer-sharp`,
    {
      resolve: "gatsby-plugin-layout", 
      options: { 
        component: require.resolve(`./src/components/layout`)
      }
    },
    {
      resolve: "gatsby-theme-acmeblog-data",
      options: { 
        postTableOfContents: true
      }
    },
  ],
};

Dev notes

There are a couple of things that I still need to do

  • [ ] thumbnail is not totally implemented at gatsby-theme-acmeblog
  • [ ] table of contents that highlights the zone where user is