/MyArxiv

Arxiv个性化定制化模版,实现对特定领域的相关内容、作者与学术会议的有效跟进。

Primary LanguageCSSGNU General Public License v2.0GPL-2.0

MyArxiv

version Status-building PRs-Welcome stars FORK Issues

项目动机/ 项目简介/ 项目预览/ 使用说明/ 快速上手指南/ 定制化指南/ 参考资源/ 致谢/ 组织者/ 贡献者


项目动机

Arxiv作为当前最受欢迎的学术论文预印的网站之一,每天有大量的最新学术论文在此网站发布。许多一线研究者,在这样信息爆炸的时代,为了第一时间有效地关注到与自己研究“相关”的学术论文,每天都需要耗费较多时间进行检索和审阅过滤掉“无关”的学术论文,这无疑为大家的科研带来了较大的负担。为了帮助大家高效地、自由地阅览Arxiv最新学术论文,本项目为大家提供了Arxiv个性化定制化模版,实现对特定领域的相关内容、作者与学术会议的有效跟进,将Arxiv定制化为MyArxiv

本项目所用徽章来自互联网,如侵犯了您的图片版权请联系我们删除,谢谢。

项目简介

MyArxiv项目基于Arxiv官方APIGithub Actions相关服务,为大家了提供了Arxiv的定制化服务,使用者可以通过配置相关文件,从Arxiv每日发布的最新研究成果中,实现个性化地、轻松地阅览属于自己的Arxiv网站,其功能如下:

基本功能

  • 跟踪指定领域的最新成果
  • 缓存指定时段的文章信息

特色功能

  • 快速聚焦到文章标题中的指定关键字
  • 方便注意到文章作者中的指定学者
  • 及时了解到相关知名会议、期刊的学术文章

项目预览

使用者可以访问https://mlnlp-world.github.io/MyArxiv/进行对当前项目进行预览,以便更好地熟悉和使用当前项目。

  • MyArxiv总页面概览:

​ 其中包含了指定领域的多天的文章最新更新情况

  • 进一步查看领域中更新的文章列表:

​ 每一个条目中有特定类型的前缀标识(e.g. 标识是否有高亮的作者)、包含高亮的文章标题(e.g. Dialogue)以及相应的会议信息(e.g. EMNLP 2022)。

  • 更加细化地对感兴趣的文章内容进行查看:

​ 其中有包含高亮详细作者列表(e.g. Qun Liu)、摘要以及对应的comment(e.g. EMNLP 2022, Long paper, Main conference)。

使用说明

  • 单击标题展开并仔细查看其摘要。
  • 单击摘要跳转到对应的Arxiv文章。
  • 指定关键字、指定学者和会议/期刊信息的高亮显示。
  • 通过文章条目前缀标识区分论文是新提交的还是更新的
  • 通过文章条目前缀标识区分论文是否由高亮的作者撰写的
  • 使用Tab键展开/折叠所有文章。
  • 实现了对于Latex公式的渲染。
  • 支持深色/浅色模式。

快速上手指南

使用MyArxiv实现个人定制的Arxiv,使用默认设置快速上手,步骤如下:

Get Start

1. 建立仓库

当前MyArxiv仓库为模版仓库,当我们建立属于自己的MyArxiv时,需要从当前模版新建仓库到自己的Github账号下。

假设仓库地址为github.com/username/reponame,便于后续说明。

2. 修改cachr url

修改config.toml中文件中的cache_url设置(MyArxiv数据缓存地址,该地址设置与你托管当前项目的网站地址相关),将其对应的Github账户,从MLNLP-World修改为自己当前的账户,如下图所示:

3. Github pages设置

进入当前Repo对应的Settings后,进入Pages页面,设置Branchgh-pages分支。

使用至此,你已经基于MyArxiv的默认配置实现了快速上手,直接访问Github Pages对应的网页username.github.io/MyArxiv,可以查看属于自己的MyArxiv:

定制化指南

MyArxiv是高度可定制化的,使用者可以根据自己的实际需求进行更改,实现个性化定制,如下内容对于可定制化的部分进行说明。

Build Steps

1. 托管网站设置

config.toml配置文件中,个人网站相关设置部分如下图所示:

此部分与个人MyArxiv托管的网站设置相关,默认设置如下:

site_title = "MyArxiv"
limit_days = 7
cache_url = "https://mlnlp-world.github.io/MyArxiv/cache.json"
  • site_title:MyArxiv网站名称,默认为"MyArxiv"

  • limit_days:MyArxiv网站所缓存的过去几天的最新论文,默认为缓存过去7天的最新论文。

  • cache_url:MyArxiv数据缓存地址,该地址设置与你托管当前项目的网站地址相关。

    • 若使用默认的Github Pages,那么会在username.github.io域名上托管该项目,项目具体地址为username.github.io/reponame,就要将cache_url设置为username.github.io/reponame/cache.json
    • 若使用其他域名yourarxivdomain托管该项目,则要将cache_url使用对应的网址进行替换,设置为yourarxivwebsite/cache.json

2. Arxiv领域偏好设置

config.toml配置文件中,Arxiv领域偏好设置部分如下图所示:

此部分与个人定制的Arxiv领域配置相关,设置的样例如下:

[[sources]]
limit = 150
category = "cs.CL"
title = "Computation and Language"
  • limit:每天更新当前Arxiv领域中的论文数目,默认为150,(一般来说,大部分单领域Arxiv论文的每日更新数目不会超过150。)
  • category:所感兴趣的Arxiv文章领域标识,需根据Arxiv官网查找对应领域的标识。
  • title:领域标识对应的领域名称,需根据Arxiv官网查找对应领域的名称。

上述设置为一个Arxiv领域对应的设置单元样例,默认设置涵盖NLP研究者主要关注的Arxiv中cs.CLcs.CVcs.IRcs.LG以及cs.MM领域,使用者可以根据自己的研究偏好参照上述说明进行更改。

3. 高亮脚本设置

config.toml配置文件中,高亮脚本设置部分如下图所示:

此部分与个人定制的高亮信息相关,使用者在此部分可以根据自己的研究偏好,进一步添加定制化高亮信息。

[scripts]
highlight_title = "scripts/highlight_title.rhai"
highlight_author = "scripts/highlight_author.rhai"
highlight_conference = "scripts/highlight_conference.rhai"

目前所支持的高亮信息,包括文章标题、作者和会议名称三个方面。然而此部分所给出的信息只有脚本文件的位置,使用者需要转移到脚本文件夹./scripts下修改对应的高亮配置文件./scripts/config.rhai,其中文件中相关设置部分如下:

./scripts/config.rhai中,定制化改动如下:

  • let titles = titles_model + titles_method + titles_type;:标题的高亮可以自定义其内容,默认由模型方法以及类型三部分组成:
    • let titles_type = ["Dataset", "Survey"];:添加需要高亮的文章类型;
    • let titles_model = ["BERT", "GPT", "Transformer"];添加需要高亮的文章模型信息;
    • let titles_method = ["Pre-train", "Pretrain", "Prompt", "Self-Supervised"];添加需要高亮的文章方法信息;
  • let authors_array = ["Yann LeCun", "Geoffrey Hinton", "Yoshua Bengio"];添加需要高亮的作者信息;
  • let conferences = []; 高亮的会议列表,默认包含了当前AI领域的大部分主流会议信息;

4. workflow设置

workflow设置位于文件./.github/workflows/update-feed.yml中:

可以参考如下部分需要对此文件进行修改。

  • name: workflowname:对Workflow进行命名,默认为Update

  • - cron: "12 5 * * *":对Workflow运行的时间进行设置,即对MyArxiv每天更新的时间进行设置,可以参考crontab,对时间进行调整

5. MyArxiv网页设置

完成MyArxiv个性定制化后,下面进行网页显示的修改,主要修改目标文件为./includes/index.hbs,使用者可以根据自己的风格喜好对网页格式进行各类更改,如下提供两个更改样例:

  • 网页标题的修改:

    index.hbs中,网页标题相关配置如下所示:

    • 其中位于line 56的蓝线高亮部分为当前配置的网页标题,使用者可以自行进行更改:

      <div class="header-title">
                      NAME YOU LIKE
                  </div>
    • 其中位于index.hbs line 50 的分区中已经注释掉的部分中,红线高亮部分表示将自己的MyArxiv仓库地址进行链接并对标题进行重新命名的相关设置,可以使用此设置,替代默认的网页标题,修改格式如下:

          <div style="display:flex; justify-content:space-between; align-items:flex-end;">
              <div>
                  <a href="https://github.com/username/reponame" style="text-decoration: none;">
                      <div class="header-title">
                          <span class="header-title-preffix">NAME YOU LIKE
                      </div>
                  </a>
              </div>
  • 徽章的修改:

    index.hbs中,网页标题相关配置如下所示:

    • 其中位于line 125的蓝线高亮部分为当前配置的网页时间戳,使用者可以根据自己需要进行自行更改:

      {{time_format build_time "%F %T %Z"}}
    • 其中位于index.hbs line 119 的分区中已经注释掉的部分中,红线高亮部分表示使用shield.io实时更新当前workflow的build时间戳,对index.hbsline 118链接的workflow地址进行修改;可以使用此设置,设置徽章替代默认的网页时间戳,修改格式如下:

      <img id="build-timestamp-badge"
                           src="https://img.shields.io/github/workflow/status/username/reponame/workflowname?label={{time_format
                          build_time "%F %T %Z"}}&style=for-the-badge"
                      alt="{{time_format build_time "%F %T %Z"}}">

      其中涉及workflowname需要与./.github/workflows/update-feed.yml中的name的保持一致。

配置修改完成,将上述更改提交至个人的Github仓库。

6. Github Pages设置

在完成上述定制后,需要对个人的MyArxiv库Github Pages进行设置,将项目进行托管:

  • 访问Github Pages设置https://github.com/username/reponame/settings/pages

  • 若使用username.github.io来托管MyArxiv,则:

    • 将其中的Branch设置为gh-pages分支;
    • 成功Build后,定制化结束;
    • 访问username.github.io./reponame,即可实现MyArxiv的定制化访问
  • 若使用其他域名来托管MyArxiv,则:

    • 将其中的Branch设置为gh-pages分支;

    • 将自己的域名填入Custom Domain;

    • ./statics文件夹下新建CNAME文件,将域名写入其中:

      >> cd ./statics
      >> touch CNAME
      >> echo "your domain" > CNAME
    • 成功Build后,定制化结束;

    • 访问username.github.io/reponame,即可实现MyArxiv的定制化访问

到这里,就实现了MyArxiv的定制化。Enjoy YourArxiv !

参考资源

该项目部分参考如下项目:

致谢

感谢如下项目对本项目提供的帮助:

组织者

感谢以下同学对本项目的组织

贡献者

感谢以下同学对本项目的支持与贡献