How to link your own articles on a Pelican blog?

二次信任 提交于 2019-12-22 04:43:19

问题


I tried to link with the html file name, but it works because they are on the same folder.

[Title](./this-is-the-file.html)

But it is possible that another article would appear on another folder because of the ARTICLE_URL pattern. Examples:

[Title 1](/2014/02/article1.html)
[Title 2](/2014/01/25/article2.html)

Is it possible to link your own articles with a reference to the slug ? Any other better solution than the generated HTML file name ?


回答1:


As noted in the documentation, you can link to other source content files via:

[a link relative to content root]({filename}/this-is-the-source-file.md)

... or ...

[a link relative to current file]({filename}../this-is-the-source-file.md)

Pelican will incorporate your chosen URL scheme and automatically determine the proper way to link to the other article.




回答2:


The way I do this is by specifying my own sluglines using the save_as metadata tag. So if I have a blog post called my_post.md, it'll look like this:

Title: My Blog Post
save_as: myblogpost.html

This is the world's most boring blog post.

That ensures I can link to it at /myblogpost.html. Then in some other blog post, I can say:

Title: My Second Blog Post
save_as: mysecondblogpost.html

This is the world's second most boring blog post. The most boring blog post is [here]({{ SITEURL }}/myblogpost.html).

It's a more flexible and elegant solution that gives you finer-grained control. And if you're not using Pelican for a blog site, it's pretty essential.




回答3:


To deal with link in rst / restructured text.

Say you want to have link from your second post to first. Here is piece of context from that second post:

If you wish to see my first blog post click `here`_

.. _here: first-blog-post

And first blog post should have proper slug:

First blog post
########################################
:date: 2019-02-18 20:31
:category: entry
:tags: python, blog, first
:slug: first-blog-post

I have configuration:

ARTICLE_URL = '{date:%Y}/{date:%m}/{slug}.html'

and it deals with additional stuff like year, and month. Most probably you can stick with slug instead of having to track HTMLs.



来源:https://stackoverflow.com/questions/21867070/how-to-link-your-own-articles-on-a-pelican-blog

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!