hexojs / site

The website for Hexo. https://hexo.io/
https://hexo.io
MIT License
659 stars 1.29k forks source link

Documentation Improvements: Variables/Helpers #1489

Open derikb opened 4 years ago

derikb commented 4 years ago

Check List

Please check followings before submitting a new feature request.

Feature Request

New to Hexo and finding some inadequacies in some of the documentation.

derikb commented 4 years ago

Ok, looks like the alternative value in the list_ helpers for "style" is false.

tcrowe commented 4 years ago

Hey @derikb 👋

One option for advanced users and theme makers is to use those variables directly.

These will be the variables available by default: https://hexo.io/docs/front-matter#Settings-amp-Their-Default-Values https://hexo.io/docs/variables#Page-Variables

In the front matter at the top you can create your own too:

title: one two three
tags:
  - four
  - five
  - six
customThing: seven

In the template it should be available as page.tags or post.tags, depending on the context. If you want to get at customThing it would be like page.customThing or post.customThing.

Default use: https://github.com/hexojs/hexo-theme-landscape/blob/master/layout/_partial/post/tag.ejs#L2

site.tags also: https://github.com/theme-next/hexo-theme-next/blob/999f0f786f06f63493d117e413c8e7724bc66d80/layout/_partials/sidebar/site-overview.swig#L59


So, if you know how to edit the templates you can access and loop through each of these things.

The database it's using is called warehouse. It has a lot of nifty queries it can do. If you start using that in your theme and want some help just ping us back!


Was any of that of help?

derikb commented 4 years ago

Not really... @tcrowe but thanks for responding...

Does looping through post.tags just get me an array of strings? Was kind of hoping it gave me some other data (like the archive url for that tag, etc.)? (I wanted to further customize what list_tags() gives me by directly accessing the tag data, but I'm not clear what is in that data.

And post.next and post.prev... are they objects that have all the same vars I would have if I were in the template/layout for the individual post? If so, that would be a good thing to have in the docs to clarify that.

tcrowe commented 4 years ago

If you jump into your templates in ./theme/your-theme/... you can start outputting the data and you can see what's in it. It just takes a little time and effort.

noraj commented 3 years ago

@derikb I have made various PR on list_tags in 2020, look now there are plenty new options and the doc was updated.