写点什么

Academic Pages - 学术个人网站模板

作者:qife
  • 2025-07-02
    福建
  • 本文字数:1756 字

    阅读完需:约 6 分钟

Academic Pages - 学术个人网站模板

项目标题与描述

Academic Pages 是一个基于 Jekyll 的 GitHub Pages 模板,专为学术人员设计。它提供了一种简单的方式来创建和管理个人学术网站,支持展示出版物、演讲、教学经历等内容。该项目是一个开箱即用的模板,用户可以通过 GitHub Pages 免费托管自己的网站。

功能特性

  • 多内容类型支持:包括出版物、演讲、教学经历、博客文章等。

  • 响应式设计:适配各种设备屏幕。

  • Markdown 支持:所有内容都可以用 Markdown 编写。

  • 数据驱动:通过 YAML 和 JSON 文件管理内容。

  • 多种布局:提供归档页、标签页、分类页等多种布局。

  • 地图功能:展示演讲地点的集群地图。

  • CV 支持:支持 Markdown 和 JSON 两种格式的简历。

  • 社交分享:集成社交媒体分享功能。

  • 评论系统:支持 Disqus、Facebook 等评论系统。

安装指南

  1. 注册 GitHub 账户:如果没有 GitHub 账户,请先注册并确认邮箱。

  2. 使用模板:点击仓库右上角的 "Use this template" 按钮。

  3. 创建仓库:在 "New repository" 页面,输入仓库名为 "[你的 GitHub 用户名].github.io"。

  4. 配置网站:设置站点范围的配置并添加你的内容。

  5. 上传文件:将 PDF 等文件上传到 files/ 目录。

  6. 本地运行(可选):

  7. 安装 Ruby、Bundler 和 Node.js

  8. 运行 bundle install 安装依赖

  9. 运行 bundle exec jekyll serve 启动本地服务器

使用说明

基本使用



这是论文的详细描述...
复制代码

演讲地图

项目包含一个 Jupyter Notebook (talkmap.ipynb),可以从 _talks/ 目录中的 Markdown 文件提取位置信息并生成演讲地点地图。

核心代码

演讲地图生成脚本

# Leaflet cluster map of talk locationsimport frontmatterimport globimport getorgfrom geopy import Nominatimfrom geopy.exc import GeocoderTimedOut
TIMEOUT = 5g = glob.glob("_talks/*.md")geocoder = Nominatim(user_agent="academicpages.github.io")location_dict = {}
for file in g: data = frontmatter.load(file) data = data.to_dict() if 'location' not in data: continue title = data['title'].strip() venue = data['venue'].strip() location = data['location'].strip() description = f"{title}<br />{venue}; {location}" try: location_dict[description] = geocoder.geocode(location, timeout=TIMEOUT) print(description, location_dict[description]) except Exception as ex: print(f"Error processing {location}: {ex}")
m = getorg.orgmap.create_map_obj()getorg.orgmap.output_html_cluster_map(location_dict, folder_name="talkmap", hashed_usernames=False)
复制代码

Markdown 生成脚本

# Publications markdown generatorimport pandas as pdimport os
publications = pd.read_csv("publications.tsv", sep="\t", header=0)
html_escape_table = {"&": "&amp;", '"': "&quot;", "'": "&apos;"}
def html_escape(text): return "".join(html_escape_table.get(c,c) for c in text)
for row, item in publications.iterrows(): md_filename = f"{item.pub_date}-{item.url_slug}.md" html_filename = f"{item.pub_date}-{item.url_slug}" year = item.pub_date[:4] md = f"""---title: "{item.title}"collection: publicationspermalink: /publication/{html_filename}date: {item.pub_date}venue: '{html_escape(item.venue)}'"""
if len(str(item.excerpt)) > 5: md += f"\nexcerpt: '{html_escape(item.excerpt)}'" if len(str(item.paper_url)) > 5: md += f"\npaperurl: '{item.paper_url}'" md += f"\ncitation: '{html_escape(item.citation)}'\n---\n" if len(str(item.paper_url)) > 5: md += f"\n<a href='{item.paper_url}'>Download paper here</a>\n" if len(str(item.excerpt)) > 5: md += f"\n{html_escape(item.excerpt)}\n" md += f"\nRecommended citation: {item.citation}" with open(f"../_publications/{md_filename}", 'w') as f: f.write(md)
复制代码


更多精彩内容 请关注我的个人公众号 公众号(办公 AI 智能小助手)公众号二维码


办公AI智能小助手


用户头像

qife

关注

还未添加个人签名 2021-05-19 加入

还未添加个人简介

评论

发布
暂无评论
Academic Pages - 学术个人网站模板_Jekyll_qife_InfoQ写作社区