分类:IESS网站部署和更新
- hugo & Wowchemy官方文档:
- hugo文档:https://gohugo.io/getting-started/quick-start/
- Wowchemy文档: https://wowchemy.com/docs/
- 建站模板:
目前采用的模板是starter-academic([github](https://github.com/wowchemy/starter-academic), [demo](https://academic-demo.netlify.app/))。
为了使用这个系统来部署和更新网站,需要一些基本概念和基本理念,然后是操作步骤。这些概念、理念和步骤都会整理在这里。
基本理念:格式和内容分离
这个网站建设、部署和更新的基本理念是格式和内容分离。网站的呈现形式(以及背后实现这个呈现形式的代码)在初期稳定之后不会再经常修改。同时,网站的内容修改者完全不用担心呈现形式只需要关注内容。当然,如果发现有目前呈现形式不满足其表现需求的情况,则反馈给呈现形式修改团队来做修改。
- IESS网站维护说明
- 搭建环境
1. 安装Go语言 (ubuntu:sudo apt install golang) 2. 安装hugo和hugo_extended。直接从这里下载安装:
* https://github.com/gohugoio/hugo/releases
>例如,在ubuntu上选择hugo_0.80.0_Linux-64bit.deb和hugo_extended_0.80.0_Linux-64bit.deb安装。有可能只需要安装hugo_extended就可以了,但不确定。
3. git clone https://github.com/Bigger-Physics/iess-web.git。
> 只有Bigger-Physics团队成员有权限。 4. 运行调试:项目根目录下,运行`view.sh`脚本。或者直接运行`hugo server --disableFastRender --i18n-warnings` 服务运行起来以后,可以在控制台上看到相关信息,类似下面这样: ``` hugo: downloading modules … hugo: collected modules in 28883 ms Start building sites … i18n|MISSING_TRANSLATION|zh|close i18n|MISSING_TRANSLATION|zh|slides
| ZH
+-----
Pages | 50 Paginator pages | 0 Non-page files | 1 Static files | 4 Processed images | 42 Aliases | 8 Sitemaps | 1 Cleaned | 0
Built in 1138 ms Watching for changes in {assets,content,data,i18n,static} Watching for config changes in config.toml, config\_default, go.mod Environment: "development" Serving pages from memory Web Server is available at http://localhost:1313/ (bind address 127.0.0.1) Press Ctrl+C to stop ```
使用浏览器访问: http://localhost:1313 查看网页效果。hugo会自动感知内容变化并实时渲染(具体见上面信息中出现的`Watching for changes...`和`Watching for config changes...`)
- 网站管理
- 全局配置
所的配置文件都位于`config/_default`目录,通过修改这些配置文件可以对网站的大部分功能特性进行定制,包括界面、语言、菜单(导航)栏,等等。配置文件本身包含详细的注释,可以直接阅读或搜索。 - config.toml:详见源文件 - languages.toml: 配置网站的语言,已经把英文版关闭了,只保留了中文版 - menus.toml: 网站英文版的菜单配置(无需关注) - menus.zh.toml: 网站中文版的菜单配置(重要) - params.toml:详见源文件
- 内容管理
所有内容都在`content`目录下。目前网站只有中文版,根据约定,所有内容都放在`content/zh`子目录中。
- authors: 可以在这里编辑团队成员的profile,结合Wowchemy提供的[People](https://wowchemy.com/docs/getting-started/page-builder/#people)组件,可以构建漂亮的团队成员页面(我们现在没有这样做)。 course: 所有在“课程建设”分类下的文章都会被放到这里 home:首页 landing-courses:“课程建设”专题页 landing-members:“中心成员”专题页 landing-posts:“博客文章”专题页 landing-publications:“研究成果”专题页 landing-researches:“研究方向”专题页 landing-services:“社会服务”专题页 post:所有“博客文章”分类下的文章都会被放在这里 project:模板里遗留的,没有真正使用。其实course和research是模仿project新增的 publication:所有“研究成果”分类下的文章都会被放在这里 research:所有“研究方向”分类下的文章都会被放在这里 service:所有“社会服务”分类下的文章都会被放在这里
- 首页定制
在`content/zh/home`目录下: - contact.md: 联系我们, 参考[Contact](https://wowchemy.com/docs/getting-started/page-builder/#contact)组件 - index.md:首页模板 - introduction.md:中心介绍 - projects.md:模板里遗留的,没有真正使用 - sliders.md:slider,参考[Slider](https://wowchemy.com/docs/getting-started/page-builder/#slider)组件 vision-mission-value.md:愿景与使命,参考[Featurette](https://wowchemy.com/docs/getting-started/page-builder/#featurette)组件
Wowchemy提供了多种现成的组件(Widgets),可以根据需求将这些组件拼装在一起,构成页面 关于首页定制详细定制,参考这里:[Build your homepage with Wowchemy Page Builder](https://wowchemy.com/docs/getting-started/page-builder/)。
- 专题页定制
和首页定制类似。文档在这里:[Create a landing page](https://wowchemy.com/docs/content/landing-pages/)。
- 菜单(导航)栏定制
在`config/_default/menus.zh.tomls`里配置。
- 创建一个“研究方向”分类下的文章
在项目根目录下执行如下命令: ``` hugo new --kind research research/new-research/index.md ``` 将自动创建`research/new-research/index.md`文件,然后在index.md文档中添加内容即可。注意到每个markdown文档的头部都有一个front-matter部分,允许针对这个页面(这篇文章)做某些配置。详见这里:[Front Matter](https://wowchemy.com/docs/content/front-matter/)。
- 创建一个“研究成果”分类下的文章
在项目根目录下执行如下命令: ``` hugo new --kind publication publication/new-publication/index.md ``` 详见:[Create a publication](https://wowchemy.com/docs/content/publications/)
- 创建一个“课程建设”分类下的文章
在项目根目录下执行如下命令: ``` hugo new --kind course course/new-course/index.md ``` 详情同上。
- 创建一个“社会服务”分类下的文章
在项目根目录下执行如下命令: ``` hugo new --kind service service/new-service/index.md ``` 详情同上。
- 创建一个“博客文章”分类下的文章
在项目根目录下执行如下命令: ``` hugo new --kind post post/new-post/index.md ``` 详见:[Create a blog post](https://wowchemy.com/docs/content/blog-posts/)
- 构建静态网页
最终要将修改的内容构建为静态网页,然后发布到服务器上。构建也非常简单,首先删除旧的静态网页文件,然后运行构建命令: ``` rm -rf public rm -rf resources hugo ``` 一个完整的工作流大概如下: 1. git pull 同步最新的源代码到本地。 2. 本地修改、测试,git commit & git push 3. 登录到服务器,git pull同步最新源码到服务器 4. 执行上面的三条命令行,或者执行根目录下的`rebuild.sh`脚本
本分类目前不含有任何页面或媒体文件。