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 🙏

© 2024 – Pkg Stats / Ryan Hefner

gatsby-starter-casper

v1.0.9

Published

GatsbyJS starter that themed with the Casper theme from Ghost.

Downloads

2

Readme

Gatsby Casper Starter

Code Climate Issue Count Conventional Commits

A blog starter for Gatsby, utilizing the popular Casper (v1.4) theme authored by Ghost.io. The project is based on Gatsby Advanced Starter and has a lot on common with the Gatsby Material Starter, but will evolve separately. In this project the single Casper CSS file has been carefully extracted into individual components with only minor tweaks.

This starter also serves as example for the Gatsby-Pagination library.

Demo website.

Screenshot

GatsbyJS V1

This starter is based on GatsbyJS V1, which brings progressive web app features such as automatic code and data splitting (by route), prefetching, with service worker/offline-first support and PRPL pattern.

More information in the announcement.

Features

  • Blazing fast loading times thanks to pre-rendered HTML and automatic chunk loading of JS files
  • Separate components for everything
  • High configurability:
    • Site information
    • Site social profiles
    • Copyright information
    • More!
  • Author segment
    • Name
    • Location
    • Description
    • Links
    • Follow Me button
    • Social profiles
  • Posts in Markdown
    • Code syntax highlighting
    • Embed YouTube videos
    • Embed Tweets
    • Pages support pagination
    • Read More linked paginated pages
  • Tags
    • Separate page for posts under each tag
    • Pages support pagination.
  • Categories (pages generated but not linked in theme)
    • Separate page for posts under each category
  • Disqus support (needs to be uncommented)
    • Notifications about new disqus comments
  • Google Analytics support
  • NPM scripts for GitHub Pages deployment
  • Social features (uncomment code to use)
    • Twitter tweet button
    • Facebook share/share count
    • Google+ share button
    • easily to add more!
  • SEO
    • Sitemap generation
    • robots.txt
    • General description tags
    • Schema.org JSONLD (Google Rich Snippets)
    • OpenGraph Tags (Facebook/Google+/Pinterest)
    • Twitter Tags (Twitter Cards)
  • RSS feeds
  • Loading progress for slow networks
  • Offline support
  • Web App Manifest support
  • Development tools
    • ESLint for linting
    • Prettier for code style
    • Remark-Lint for linting Markdown
    • write-good for linting English prose
    • gh-pages for deploying to GitHub pages
    • CodeClimate configuration file and badge

NOTE: Feel free to check out Gatsby Material Starter if you are interested in a more opinionated starter with Material Design in mind.

Getting Started

Install this starter (assuming Gatsby is installed) by running from your CLI:

gatsby new YourProjectName https://github.com/haysclark/gatsby-starter-casper
gatsby develop

Alternatively, you can clone the repo or a fork of the repo and install it manually.

git clone https://github.com/haysclark/gatsby-starter-casper YourProjectName # Clone the project
cd YourProjectname
rm -rf .git # Optional, you can leave the .git history for future rebasing
npm install # or yarn install
npm run develop # or gatsby develop

Configuration

Edit the export object in data/SiteConfig:

module.exports = {
    blogPostDir: "sample-posts", // The name of directory that contains your posts.
    blogAuthorDir: "sample-authors", // The name of directory that contains your authors.
    blogAuthorId: "casper", // The default and fallback author ID used for blog posts without a defined author.
    siteTitle: "Gatsby Casper Starter", // Site title.
    siteTitleAlt: "GatsbyJS Casper Theme Starter", // Alternative site title for SEO.
    siteLogo: "/logos/logo-1024.png", // Logo used for SEO and manifest.
    siteUrl: "https://haysclark.github.io", // Domain of your website without pathPrefix.
    pathPrefix: "/gatsby-starter-casper", // Prefixes all links. For cases when deployed to example.github.io/gatsby-starter-casper/.
    siteDescription: "A Casper themed GatsbyJS stater based on the Advanced Starter.", // Website description used for RSS feeds/meta description tag.
    siteCover: "/images/blog-cover.jpg", // Optional, the cover image used in header for home page.
    siteNavigation: true, // If navigation is enabled the Menu button will be visible
    siteRss: "/rss.xml", // Path to the RSS file.
    siteRssAuthor: "Casper User", // The author name used in the RSS file
    // siteFBAppID: "1825356251115265", // optional, sets the FB Application ID for using app insights
    sitePaginationLimit: 10, // The max number of posts per page.
    googleAnalyticsID: "UA-111982167-1", // GA tracking ID.
    siteSocialUrls: [
      "https://github.com/haysclark/gatsby-starter-casper",
      "https://twitter.com/gatsbyjs",
      "mailto:[email protected]"
    ],
    postDefaultCategoryID: "Tech", // Default category for posts.
    // Links to social profiles/projects you want to display in the navigation bar.
    userLinks: [
      {
        label: "GitHub",
        url: "https://github.com/haysclark/gatsby-starter-casper",
        iconClassName: "fa fa-github" // Disabled, see Navigation.jsx
      },
      {
        label: "Twitter",
        url: "https://twitter.com/gatsbyjs",
        iconClassName: "fa fa-twitter" // Disabled, see Navigation.jsx
      },
      {
        label: "Email",
        url: "mailto:[email protected]",
        iconClassName: "fa fa-envelope" // Disabled, see Navigation.jsx
      }
    ],
    // Copyright string for the footer of the website and RSS feed.
    copyright: {
      label: "Gatsby Casper Starter" // Label used before the year
      // year: "2018" // optional, set specific copyright year or range of years, defaults to current year
      // url: "https://www.gatsbyjs.org/" // optional, set link address of copyright, defaults to site root
    },
    themeColor: "#c62828", // Used for setting manifest and progress theme colors.
    backgroundColor: "#e0e0e0", // Used for setting manifest background color.
    promoteGatsby: true // Enables the GatsbyJS promotion information in footer.
  };

You can also optionally set pathPrefix:

module.exports = {
 // Note: it must *not* have a trailing slash.
      pathPrefix: '/gatsby-starter-casper', // Prefixes all links. For cases when deployed to example.github.io/gatsby-starter-casper/.
}

WARNING: Make sure to edit static/robots.txt to include your domain for the sitemap!

Content

Posts

Posts are authored using Markdown and include some optional YAML frontmatter data properties. Each post should have a separate folder for the .md file in addition to any images or other media related to that post. Posts are stored in a subfolder in the /content/ directory; the target subfolder is set by the blogPostDir property in SiteConfig.js.

Authors

Each post can reference the author of the post, if the author is not set the default author will be used; which is controlled by the blogAuthorId property in SiteConfig.js. All authors, including the default author (aka blodAuthorId) must have an author JSON file. These JSON files MUST be stored in a folder names authors, for Gatsby to parse them correctly. The location of this authors folder can be controlled by the blogAuthorDir property in SiteConfig.js. It IS possible to have the authors folder inside the blogPostDir folder.

Contributing

👍🎉 First off, thanks for taking the time to contribute! 🎉👍

The project uses Conventional Commits which are simple and easy to follow. In general, use your best judgment, and feel free to propose changes by creating an issue and then mention the issue in your pull request.

License

MIT