更新和编辑网站内容
获取内容
网站内容位于 git 仓库 中。
正在进行的工作在 beta
分支上,实时网站在 master
分支上。网站会从 git 仓库自动更新。如果您要更新网站,请创建一个拉取请求。
现有页面
网站的大部分内容是自动生成的,包括发行说明、新闻页面和 generated 目录中的所有文件。如果您要编辑这些内容,请参见下文。
Web 内容的结构尽可能简单,以便进行通用编辑。至少只需要一个文本编辑器和 HTML Tidy 即可编辑内容。由于各种原因,内容使用 XHTML 1.0 Strict,最重要的是为了提高可访问性和强制将样式与内容分离。按照上面的方法获取要编辑的内容后,进行所需的更改,并使用以下选项通过 HTML Tidy 运行结果
tidy --tidy-mark no -i -wrap 78 -m -asxhtml --merge-divs no --merge-spans no --doctype strict fname
使用一组一致的选项运行 HTML Tidy 还有助于在存储库中保持准确的更改历史记录。有一些 示例 说明了直接支持或通过使用 [class="value"] 属性支持各种 XHTML 标签的样式。请注意 HTML Tidy 提到的任何错误和警告,并努力消除所有这些错误和警告。
注意:tidy的选项适用于最新版本。特别是--merge-*选项在许多 Unix/Linux 发行版和 Windows 实用程序附带的版本中可能不可用。可以删除不可用的选项,并且可以正常工作。但我们建议安装最新的tidy(如果可能)。您可以从 HTML Tidy 库项目 获取最新的 Windows 二进制文件和源代码。
页面应该可以在大多数浏览器中查看。如果可能,请在尽可能多的浏览器中测试您的更改。如果您使用的是 Windows,最好至少使用两个现代浏览器。但如果您在其他平台上,最好使用“默认”浏览器进行测试。通常,在 Web 服务器上下文之外查看页面只会显示内容和页脚的一部分。这是因为该站点使用服务器端包含 (SSI),大多数浏览器不会处理它。要查看完整内容,您需要运行自己的 Apache 服务器,或者提交更改并在以下位置在线查看更改
站点 | URL | 分支 |
---|---|---|
测试版 | http://beta.boost.org/ | beta |
这是网站的实验版本。开发工作应首先在此处完成,然后合并到实时网站。 | ||
正式版 | https://boost.ac.cn/ | master |
公众将看到的网站。 |
新建页面
为了更轻松地添加新页面,有一个 模板 可以帮助您入门。各个站点部分中还有 _template_.html
文件,其中已包含正确的侧边栏菜单。首先,将模板复制到要添加到网站的部分,并使用合理清晰的名称命名新文件。该部分由您决定,但每种内容的预期类型是
- 简介
- 帮助新用户了解 Boost 的用途和内容。这是新访客将访问的地方。目录/users
- 社区
- 对于有兴趣参与或已经参与的用户,本节介绍 Boost 用户和开发者社区的运作方式。目录/community
- 开发
- 潜在的或现有的 Boost 开发人员利用本节快速访问最常用的内容。本节旨在保存对资源的引用或直接包含经常更改的内容。或者仅与库开发人员相关的内容,尽管随着用户更多地参与 Boost 社区,它可能更广泛地引起人们的兴趣。目录/development
- 文档
- 本节组织 Boost 库特有的文档。这至少包括每个 Boost 版本发布的库文档。还包括对社区维护的 Wiki 的访问。目录/doc
为了提供该部分的用户界面外观,需要对模板进行一些更改
-
每个部分在head部分中包含不同的 CSS 样式引用。此引用需要更改为以下之一
- 简介/style-v2/section-boost.css
- 社区/style-v2/section-community.css
- 开发/style-v2/section-development.css
- 支持/style-v2/section-support.css
- 文档/style-v2/section-doc.css
-
每个部分都通过使用 SSI 显示不同的上下文相关侧边栏菜单。要显示的侧边栏的引用需要在sidebar部分中更改为以下之一
- 简介/common/sidebar-boost.html
- 社区/common/sidebar-community.html
- 开发/common/sidebar-development.html
- 支持/common/sidebar-support.html
- 文档/common/sidebar-doc.html
在sidebar部分中有两个菜单,第一个菜单所有页面通用,包含下载链接和搜索框。不要替换该侧边栏 (/common/sidebar-common.html)。第二个#include应该更改以反映当前部分。
-
由于这是一个新页面,您还需要在页脚中插入您自己的相应版权声明。
-
要插入新内容,您需要将其插入到section-body部分。将{stuff}占位符替换为您想要的内容。此外,您可能还想更改标题,在head中,以及在section-title部分中。
除了新页面的即时内容外,还需要向页面添加一个条目,以便可以从侧边栏和索引访问它。见下文...
菜单、侧边栏和索引
各种导航元素的结构使得添加新条目变得容易,并使显示此类条目的所有位置保持一致。为此,站点利用 SSI 将包含这些条目的位置减少到 *一个*。这意味着在一个公共位置更改它,不必担心更改所有页面,它们都会立即反映新内容。要向各个部分菜单添加项目,请编辑website/common目录中的相应菜单文件
- 简介/common/menu-boost.html
- 社区/common/menu-community.html
- 开发/common/menu-development.html
- 文档/generated/menu-doc.html
生成页面
网站的各个部分都是由 php 脚本从 quickbook 源文件生成的:主页、新闻、下载、版本历史记录和 Feed。内容不能直接编辑,而是从源 Quickbook 文档生成的。例如,要添加新闻项,可以
- 在/feed/news目录中创建一个新文件,例如/feed/news/gui_review_ends.qbk.
- 在 shell 中,运行/site-tools/update.py脚本。这将生成新新闻项的页面,重新生成/feed/news.rss文件以包含它,更新链接到新项的页面并更新文件/site-tools/state/feed-pages.txt,该文件跟踪生成文件的当前状态。
- 将新文件添加到 SVN 存储库并提交。
相同的过程适用于其他 Feed,但请记住,某些 Feed 可能会组合来自多个 Feed 子目录的条目。目前,这需要您的路径中有 Quickbook 和 Python。
本地服务器
即使网站的设计使人只需要一些基本工具和 Web 浏览器即可进行更改,但有些方面是动态的,因此如果没有附带的 Web 服务器将无法工作。要设置用于更改动态内容的本地 Web 服务器,您需要
-
安装并运行 Apache 2.x 和 PHP 5.3 或更高版本(将 PHP 作为 Apache 模块安装,而不是作为 CGI 安装)。
-
通过添加“hosts文件来设置符号主机查找127.0.0.1 boost.localhost".
-
在 Apache 中添加一个虚拟主机以匹配新的本地主机。一个可能有效的配置是
<VirtualHost 127.0.0.1:80> ServerName boost.localhost DocumentRoot "/path/to/boost/website" <Directory "/path/to/boost/website"> Options +MultiViews +Includes +ExecCGI +FollowSymLinks +Includes AllowOverride All Order allow,deny Allow from all # For apache 2.4: # Require all granted </Directory> </VirtualHost>
-
创建一个本地 PHP 配置文件,用于 Boost 特定的设置,如“/path/to/boost/website/common/code/boost_config_local.php”,其中包含如下内容
<?php define('BOOST_WEBSITE_SHARED_DIR', '/path/to/boost/shared'); define('STATIC_DIR', '/path/to/boost/shared/archives/live'); ?>
设置正式 Web 服务器时,该文件应称为 config.php,并放置在路径“/home/www/shared/config.php".
”下。有关设置的简要说明,请参阅common/code/boost_config.php文件。
-
为了查看文档,您需要设置相应的目录。STATIC_DIR需要是解压缩的相应 boost 发行版副本的位置,以提供文档。默认情况下,boost_config.php 将 STATIC_DIR 设置为 $BOOST_WEBSITE_SHARED_DIR/archives/live。请按照以下步骤操作,并根据需要更改变量
BOOST_WEBSITE_SHARED_DIR=/home/www/shared mkdir -p $BOOST_WEBSITE_SHARED_DIR/archives/live cd $BOOST_WEBSITE_SHARED_DIR/archives/live wget https://archives.boost.io/release/1.74.0/source/boost_1_74_0.tar.gz tar -xvf boost_1_74_0.tar.gz
Ubuntu 设置
要在 Ubuntu 上设置站点,我需要做
sudo apt-get install apache2 libapache2-mod-php5 sudo a2enmod headers sudo a2enmod rewrite sudo a2enmod include sudo a2dismod deflate sudo service apache2 restart
我不得不禁用 deflate
,因为它与 php 的 virtual
函数交互不良。