Skip to content

BioTender-max/BioTender

Repository files navigation

BioTender

BioTender is a Chinese AI-for-Biology intelligence and media platform covering protein design, structure prediction, virtual cells, AI drug discovery, biological foundation models, scientific agents, AI4Bio startups, and frontier research.

BioTender provides curated research tracking, project indexing, long-form analysis, interviews, and industry communication for researchers, founders, investors, and biotech professionals.

中文定位:

BioTender 是一个面向 AI for Biology 的中文研究情报与产业观察平台,长期追踪蛋白设计、结构预测、虚拟细胞、AI 制药、生物基础模型、科研智能体与 AI4Bio 创业公司。

Core Pages

What BioTender Covers

  • Protein design
  • Protein structure prediction
  • AI drug discovery
  • Virtual cells
  • Biological foundation models
  • Biomedical AI agents
  • Scientific agents
  • AI4Bio startups
  • AI for Science tools
  • AI × Biology industry intelligence

功能特性

  • 15 个分类,845+ 条精选资源
  • 暗色科技风格,玻璃拟态 UI 设计
  • 分子网络风格动态背景
  • 首次访问时的开场动画
  • 全站搜索与分类筛选
  • 响应式设计,移动端适配
  • SEO 优化,包含 sitemap.xml
  • GitHub Actions 自动部署

快速开始

1. 安装依赖

npm install

2. 构建数据

从 Excel 文件生成网站数据:

npm run build-data

数据来源:data-src/网站类别.xlsx

生成的文件:

  • /data/categories.json - 分类数据
  • /data/category-slugs.json - 分类 slug 映射
  • /data/links.json - 全量链接数据

3. 启动开发服务器

npm run dev

访问 http://localhost:3000 查看网站。

4. 构建生产版本

npm run build

静态文件会输出到 out/ 目录。

更新数据

方式一:更新 Excel 源文件

  1. 替换 data-src/网站类别.xlsx 文件
  2. 运行 npm run build-data 重新生成数据
  3. 提交并推送到 GitHub,Actions 会自动部署

方式二:使用环境变量(自定义 Excel 路径)

EXCEL_PATH=path/to/your/file.xlsx npm run build-data

部署到 GitHub Pages

项目已配置 GitHub Actions 自动部署:

  1. 推送代码到 main 分支
  2. GitHub Actions 自动运行构建
  3. 部署完成后访问:https://junior1p.github.io/BioTender/

开启 GitHub Pages

首次部署需要手动开启:

  1. 访问仓库设置:https://github.com/junior1p/BioTender/settings/pages
  2. 在 "Source" 下拉菜单中选择 "GitHub Actions"
  3. 保存设置

查看部署状态

访问 Actions 页面查看部署日志: https://github.com/junior1p/BioTender/actions

项目结构

biotender/
├── app/                    # Next.js App Router
│   ├── c/[slug]/          # 分类页(动态路由)
│   ├── all/               # 全量索引页
│   ├── layout.tsx         # 根布局
│   ├── page.tsx           # 首页
│   ├── sitemap.ts         # Sitemap 生成
│   └── robots.ts          # Robots.txt
├── components/            # React 组件
│   ├── BioAIBg.tsx       # 动态背景组件
│   └── IntroOverlay.tsx  # 开场动画组件
├── data/                  # 生成的数据文件
│   ├── categories.json
│   ├── category-slugs.json
│   └── links.json
├── data-src/              # 数据源文件
│   └── 网站类别.xlsx      # Excel 源文件
├── scripts/               # 构建脚本
│   ├── build-data.ts     # 数据构建脚本
│   └── inspect-excel.ts  # Excel 检查脚本
├── .github/
│   └── workflows/
│       └── deploy.yml    # GitHub Actions 配置
└── public/               # 静态资源

技术栈

  • 框架: Next.js 16 (App Router)
  • 语言: TypeScript
  • 样式: TailwindCSS 4
  • 数据解析: xlsx
  • 拼音转换: pinyin-pro
  • 部署: GitHub Pages

数据解析规则

Excel 文件结构为"按列分组":

  1. 第 1 列为"分类",全为空,忽略
  2. 每个分类占 3 列:[分类标题] [URL] [空列]
  3. 识别不以 Unnamed: 开头的列作为分类
  4. 逐行读取,提取 title 和 url
  5. 同一分类内按 URL 去重

本地存储

Intro 动画使用 localStorage 记录访问状态:

  • Key: biotender_intro_seen
  • 存在即不再显示

许可证

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors