在翻阅参考指南以解决客户棘手的查询端问题时,你刚刚发现了 Solr 查询语言中的一个隐藏的宝藏。“Solr 可以进行图查询?” 你难以置信地问你的显示器,“为什么没有更多人知道这个?”“为什么我不知道这个?”
你想为其他可能错过的用户突出显示这一点,但如何做呢?发送电子邮件到 Solr 用户邮件列表感觉太短暂了。而专注于语法和机制的参考指南,对于你想象中要写的内容来说,似乎太技术性和抽象了。
新推出的 Apache Solr 博客似乎是与 Solr 社区分享此类内容的完美方式。你启动你的编辑器,并整理出一个你非常兴奋的初稿。它已准备就绪 - 你甚至想出了一个双关语标题:“Solr 的真正图形用户界面”
但是接下来呢?博客文章如何出现在 solr.apache.org 上?
本演练旨在介绍为 solr.apache.org 博客贡献文章的过程。本教程假设基本熟悉一些工具,特别是 Git 和 Github。市面上有很多很棒的入门教程,比我们在这里介绍得更好。以下是一些参考链接:
当然,非常欢迎潜在贡献者提出问题:如果遇到任何问题,请尝试使用 此处列出的开发邮件列表、Slack 或 IRC 频道。
在排除了这些注意事项之后,让我们来贡献我们的第一篇博客文章吧!
Solr 网站上的所有内容都保存在一个名为 solr-site 的 git 存储库中。你在 solr.apache.org 上看到的几乎所有内容都来自该存储库中的一个或多个文本文件。博客文章也不例外:我们博客上的每篇文章“只是”一个 Markdown 格式的文本文件。
因此,分享你的文章的第一步是获取此存储库的副本以进行处理。你之前没有编辑过 Solr 网站,因此你创建 solr-site
的本地“克隆”(即副本),在 Github 中“fork”存储库(下面未显示),注册你的 Github “fork” 作为“远程”,并在本地创建一个“分支”来放置你的更改。
$ git clone [email protected]:apache/solr-site.git
$ git remote add myGHfork [email protected]:myGHusername/solr-site.git
$ git checkout -b blog-post-highlighting-graph-query
所有博客文章都应位于存储库的 content/pages/blogposts
目录中。此外,每篇文章的文件名应遵循特定格式。文件名以日期开头(YYYY-MM-DD
格式),继续使用简短的标识符或描述,并以 .md
后缀结尾(用于表示 Markdown 文件)。
文件名中的日期部分用于对博客的 RSS 源中的帖子进行排序,并用作每篇文章上显示的“发布日期”。作者通常应选择当前日期,除非他们能够很好地猜测他们的文章何时公开出现。如果审查过程(稍后会详细介绍)比预期的时间长,作者或审阅者可以根据需要更新此日期。
你的帖子使用的图像或其他静态文件可以放在 content/images/blog/
中,并使用 Markdown 语法(如 ![Alt Text]({static}/images/blog/imageFileName.png)
)引用。
了解了所有这些,你将在 content/pages/blogposts/2024-04-23-graph-query-is-great.md
创建一个新文件,并复制你一直在处理的草稿文本。完成后,它显示为:
$ git status
On branch blog-post-highlighting-graph-query
Untracked files:
(use "git add <file>..." to include in what will be committed)
content/pages/blogposts/2024-04-23-graph-query-is-great.md
$ cat content/pages/blogposts/2024-04-23-graph-query-is-great.md
<b>Lorem ipsum</b>
dolor sit amet,
consectetur adipiscing elit.
你的帖子内容位于正确的位置,但是你现在意识到你在某些地方使用了 HTML 标签,而不是所需的 Markdown 语法。使用 Markdown “速查表”作为指南,你根据需要重新格式化了你的帖子。现在看起来好多了!
Solr 使用一个名为 Pelican 的工具,将存储库中的文本和 Markdown 文件转换为读者可以在 solr.apache.org 上看到的网站。在解析文件时,Pelican 要求每个内容文件的顶部都有某些元数据。此元数据帮助 Pelican 知道如何处理每个文件,并帮助它区分内容类型,以便可以正确呈现每个文件。
Pelican 要求每篇博客文章都有以下元数据标签:
save_as
和 URL
属性中使用(见下文)。blogposts/<slug-value>.html
save_as
值匹配(见上文),即 blogposts/<slug-value>.html
Pelican 还支持其他非必需字段。其中值得注意的是 summary,Solr 的博客在博客的登录页面上的文章标题下方显示为简短的摘要。(如果未指定显式的 summary 值,则默认情况下将选择前几句话。)有关有效元数据值的更多信息,请参阅 此处 的 Pelican 文档。
你最后一次调整了你的博客文章标题,并在 2024-04-23-graph-query-is-great.md
的顶部添加了必要的元数据。
$ cat content/pages/blogposts/2024-04-23-graph-query-is-great.md
Title: 'Node'-doubt about it; Solr 'Edges' Out the Rest!
category: solr/blogposts
slug: highlight-graph-query
URL: blogposts/highlight-graph-query.html
save_as: blogposts/highlight-graph-query.html
## Lorem ipsum
dolor sit amet,
consectetur adipiscing elit.
在适当的格式化到位后,你的帖子应该已准备好出现在博客上,但是值得在本地检查以发现任何潜在问题,然后再将其提交给其他人进行审查。
幸运的是,Pelican 可以通过在本地构建 Solr 网站来轻松验证更改。
很高兴看到你的图查询帖子呈现出来,你转到存储库的根目录并运行 ./build.sh -l
。这将调用 Pelican 来构建网站,并启动一个 Web 服务器(在端口 8000 上)以使页面可用。你在你选择的浏览器中输入 https://127.0.0.1:8000/blog.html
以预览博客的登陆页面。果然 - 它就在那里,在最近的帖子列表中。
单击文章链接,你将被带到你的帖子的页面。它很漂亮 - 有一些 Markdown 语法错误,但除此之外,它看起来很棒。当你修复语法错误时,Pelican 会检测到更改并自动重建网站,使你只需单击“刷新”即可在浏览器中看到修复。
你已准备好发布以进行审查!
首先,你将你的更改推送到你之前创建的 Github“fork”中
$ git add -A
$ git commit -m "Add a blog post about Solr's graph query support"
$ git push myGHfork blog-post-highlighting-graph-query:blog-post-highlighting-graph-query
完成后,你将在浏览器中打开 GitHub solr-site 页面,并从你的 Github fork 上现在可用的 blog-post-highlighting-graph-query
分支创建一个 PR。几天后,PR 收到了积极的审查(“LGTM - 我喜欢这些双关语!”),并已合并。你成功了 - 你已将你的图查询传道从最初的想法转化为已发布的文章!
这篇文章旨在表明,向 solr.apache.org 贡献内容尽可能简单且无痛苦。博客文章
这种缺乏摩擦应该使整个社区能够发出他们的声音!希望社区阅读的下一篇文章就是你的!