Skip to content

hugo-fixit/hugo-json-feed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hugo JSON Feed

Hugo theme component for JSON feed custom Output Format.

This component enables JSON feeds for your site.

Demo

Install Component

The installation method is the same as installing a theme. There are several ways to install, choose one, for example, install through Hugo Modules:

[module]
  [[module.imports]]
    path = "github.com/hugo-fixit/FixIt"
+ [[module.imports]]
+   path = "github.com/hugo-fixit/hugo-json-feed"

Configuration

Add "jsonfeed" to all the Page Kinds for which you want to create JSON feeds:

[outputs]
  # <baseURL>/feed.json
  home = ["html", "rss", "jsonfeed"]
  # <baseURL>/posts/feed.json etc.
  section = ["html", "rss", "jsonfeed"]
  # <baseURL>/tags/foo/feed.json etc.
  term = ["html", "rss", "jsonfeed"]

If your site uses multiple theme components, you need to merge the outputs configuration of all theme components. For example, if your site uses both the FixIt and hugo-json-feed theme components, you need to merge the outputs configuration of the two theme components:

[outputs]
  _merge = "shallow"
  home = ["html", "rss", "jsonfeed", "archives", "offline", "readme", "baidu_urls", "search"]
  page = ["html", "markdown"]
  section = ["html", "rss", "jsonfeed"]
  taxonomy = ["html"]
  term = ["html", "rss", "jsonfeed"]

Parameters

You can set the following parameters in your site configuration file:

[params]
  # Global Feed config for JSON feed.
  [params.feed]
    # The number of posts to include in the feed. If set to -1, all posts.
    limit = 10
    # whether to show the full text content in feed.
    fullText = true

  # Section page config (all pages in section)
  [params.section]
    # Section feed config for JSON feed.
    [params.section.feed]
      # The number of posts to include in the feed. If set to -1, all posts.
      limit = -1
      # whether to show the full text content in feed.
      fullText = false

  # Term list (category or tag) page config
  [params.list]
    # Term list feed config for JSON feed.
    [params.list.feed]
      # The number of posts to include in the feed. If set to -1, all posts.
      limit = -1
      # whether to show the full text content in feed.
      fullText = false

Front Matter

You can set the following parameters in the front matter of the content file:

---
title: "Hello World"
date: 2024-08-24T16:06:33+08:00
hiddenFromFeed: true
feed:
  # feed.limit only invalid in section or term page(_index.md).
  limit: 10
  fullText: true

Sponsor this project

Packages

No packages published

Languages