An open API service indexing awesome lists of open source software.

https://github.com/hexojs/hexo-generator-index

Index generator plugin for Hexo.
https://github.com/hexojs/hexo-generator-index

hexo hexo-plugin

Last synced: 6 months ago
JSON representation

Index generator plugin for Hexo.

Awesome Lists containing this project

README

          

# hexo-generator-index

[![Build Status](https://github.com/hexojs/hexo-generator-index/workflows/Tester/badge.svg?branch=master)](https://github.com/hexojs/hexo-generator-index/actions?query=workflow%3ATester)
[![NPM version](https://badge.fury.io/js/hexo-generator-index.svg)](https://www.npmjs.com/package/hexo-generator-index)
[![Coverage Status](https://img.shields.io/coveralls/hexojs/hexo-generator-index.svg)](https://coveralls.io/r/hexojs/hexo-generator-index?branch=master)

Index generator for [Hexo].

It generates an archive of posts on your homepage, according to the `index` or `archive` layout of your theme.

## Installation

```bash
npm install hexo-generator-index --save
```

## Options

Add or modify the following section to your root `_config.yml` file.

```yaml
index_generator:
path: ""
per_page: 10
order_by: -date
pagination_dir: page
layout: ["index", "archive"]
```

- **path**: Root path for your blog's index page.
- default: `""`
- **per_page**: Posts displayed per page.
- default: [`config.per_page`](https://hexo.io/docs/configuration.html#Pagination) as specified in the official Hexo docs (if present), otherwise `10`
- `0` disables pagination.
- **order_by**: Posts order.
- default: `-date` (date descending)
- **pagination_dir**: URL format.
- default: `page`
- e.g. set `awesome-page` makes the URL ends with `awesome-page/` for second page and beyond.
- **layout**: custom layout.
- defalut: `["index", "archive"]`

## Usage

The `sticky` parameter in the post [Front-matter](https://hexo.io/docs/front-matter) will be used to pin the post to the top of the index page. Higher `sticky` means that it will be ranked first.

```yml
---
title: Hello World
date: 2013/7/13 20:46:25
sticky: 100
---
```

The `hidden` parameter can be used to hide a post from the index page. When `hidden: true` is set, the post will not appear in the index but will still be accessible in other ways (e.g., the archive page or via a direct link).

```yml
---
title: Secret Post
date: 2024/11/11 11:11:11
hidden: true
---
```

## Note

If your theme define a non-archive `index` layout (e.g. About Me page), this plugin would follow that layout instead and not generate an archive. In that case, use [hexo-generator-archive](https://github.com/hexojs/hexo-generator-archive) to generate an archive according to the `archive` layout.

## License

MIT

[Hexo]: https://hexo.io/