更新和编辑网站内容
获取内容
网站内容位于 git 仓库中。
正在进行的工作位于 beta
分支上,实时网站位于 master
分支上。 网站会自动从 git 仓库更新。 如果您想更新网站,请创建一个 pull request。
现有页面
该网站的大部分内容是自动生成的,包括发行说明、新闻页面和 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 也有助于在仓库中保持准确的更改历史记录。 有 examples 支持直接或通过使用 [class="value"] 各种 XHTML 标记的属性。 请注意 HTML Tidy 提到的任何错误和警告,并努力删除所有这些错误和警告。
注意: 的选项tidy适用于最新版本。 尤其--merge-*选项可能在作为许多 Unix/Linux 发行版和 Windows 实用程序一部分的版本中不可用。 删除不可用的选项是可行的,并且会有效。 但是我们建议安装最新的tidy尽可能。 您可以从 HTML Tidy Library Project 获取最新的 Windows 二进制文件和源代码。
这些页面应该可以在大多数浏览器中查看。 如果可能,请尽可能多地测试您所做的更改。 如果您在 Windows 上,最好至少使用两个现代浏览器进行测试。 但是,如果您在另一个平台上,最好使用“默认”浏览器进行测试。 通常,在 Web 服务器上下文之外查看页面只会显示内容和页脚的一部分。 这是因为该站点使用服务器端包含 (SSI),而大多数浏览器不会处理它。 要查看完整内容,您需要运行自己的 Apache 服务器,或者提交更改并在网上查看更改,网址为
站点 | URL | 分支 |
---|---|---|
Beta | http://beta.boost.org/ | beta |
这是网站的实验版本。 开发工作应该首先在这里完成,然后合并到实时网站。 | ||
实时 | https://boost.ac.cn/ | master |
公众将看到的网站。 |
新页面
为了更轻松地添加新页面,有一个 template 可以帮助您入门。 各个站点部分中也有 _template_.html
文件,这些文件已经包含正确的侧边栏菜单。 首先,将模板复制到您要添加的网站部分,并使用一个相当清晰的名称来命名新文件。 该部分由您决定,但每个部分的预期内容类型是
- 介绍
- 帮助新用户了解 Boost 的用途和内容的资料。 这是新访客将要访问的地方。 目录/users
- 社区
- 对于有兴趣参与或已经参与的用户,本节介绍了 Boost 用户和开发人员社区的运作方式。 目录/community
- 开发
- 有前途或现有的 Boost 开发人员使用本节快速访问最常用的内容。 本节旨在保存对资源的引用或直接包含经常更改的内容。 或者仅与库开发人员相关的内容,尽管随着用户更多地参与 Boost 社区,它可能会引起更广泛的兴趣。 目录/development
- 文档
- 本节组织特定于 Boost 库的文档。 这至少包括随每个 Boost 版本发布的库文档。 还包括对社区维护的 Wiki 的访问。 目录/doc
为了提供该部分的用户界面外观,需要对模板进行一些更改
-
每个部分都包含不同的 CSS 样式引用head部分。 此引用需要更改为以下之一
- 介绍/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
在sidebarsection 中,包含两个菜单,第一个是所有页面通用的,包含下载链接和搜索框。 不要替换该侧边栏 (/common/sidebar-common.html). 它是第二个#include应该更改为反映当前部分。
-
由于这是一个新页面,您还需要在页脚中插入您自己的相应版权声明。
-
要插入新内容,您需要将其插入到section-bodysection。 将{stuff}占位符替换为您想要的内容。 此外,您可能还想更改标题,在head, 和在section-titlesection.
除了新页面的直接内容之外,还需要向页面添加一个条目,以便可以从侧边栏和索引访问它。 见下文...
菜单、侧边栏和索引
各种导航元素的结构旨在使添加新条目变得容易,并保持所有显示此类条目的位置一致。 为此,该站点使用 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>
-
创建一个用于 Boost 特定设置的本地 PHP 配置文件,如 "/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
函数交互不佳。