FlaskHTML作品集

frontpage — Flask 作品集模板

作者 riyadhrazzaq

基于 Flask 与 Bootstrap 的个人作品集应用,通过 content 目录下的 JSON 文件管理项目与出版物,适合想直接改代码和内容的开发者。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

1 个预览视图
作者提供的预览
作者提供的预览首屏预览

来自项目 README 的原始预览。

目前有 1 张原始预览,可打开完整图片查看设计细节。

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-03查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

使用 Flask 提供页面,前端基于 Bootstrap,自定义 CSS 仅涉及字体与 <hr> 样式

02

内容以 JSON 文件形式存放在 content/ 目录,每个项目一个文件,无需数据库

03

项目字段包含 title、description、date、image、more、tools,可按需增删

04

在 config.py 中配置 ME、TITLE 与 SOCIAL 等站点信息,社交链接可附带 FontAwesome 图标

05

新增栏目只需在 content/ 下建文件夹并在 config.py 的 SECTION 中登记

06

采用 MIT 许可,允许免费使用、修改、商用与分发该版本代码

模板详细介绍

Frontpage 是一个用 Flask 和 Bootstrap 构建的小型作品集应用,作者将其描述为「a kinda-hackable portfolio app」。站点内容不存放在数据库,而是由 content/ 目录驱动:每个栏目(如 Works、Publication)对应一个同名文件夹,文件夹内每个项目是一个独立 JSON 文件,可填写 title、description、date、image、more、tools 等字段。站点身份信息与社交链接在 config.py 中配置,其中 ME、TITLE 以及 SOCIAL 里的变量需要按自己的情况修改,社交项可附带 FontAwesome 图标代码。新增栏目只需在 content/ 下新建文件夹,并在 config.py 的 SECTION 变量中补充对应配置。

外观主要依赖 Bootstrap,自定义 CSS 只用于字体和 <hr> 的样式调整,因此改主题通常从 Bootstrap 的颜色工具类入手。README 明确提醒 JSON 文本需要转义,例如文本中的双引号要写成 \"。README 同时说明字段可以增删,但作者未测试过增删后的效果,可能出现问题。

仓库采用 MIT 许可,可免费使用、修改、商用和分发该版本代码,分发时需保留版权声明与许可声明;演示图片、字体、图标等第三方素材需单独核对许可,域名、托管、数据库等外部服务可能另行收费。

FlaskHTML作品集

适合你的项目吗?

适用场景

  • 搭建个人作品集页面,展示项目与出版物列表
  • 用 JSON 文件维护内容,避免引入数据库或后台管理系统
  • 在 Bootstrap 基础上调整配色与字体,形成自己的视觉风格
  • 通过新增 content/ 子目录与 SECTION 配置扩展新的内容栏目

适合人群

  • 熟悉 Flask 与 Python,愿意直接修改代码和配置文件的开发者
  • 希望以纯文本 JSON 管理作品集内容、不依赖数据库的个人用户
  • 需要 MIT 许可下可自由修改与分发代码的开发者
  • 接受 Bootstrap 默认设计、只做少量 CSS 定制的使用者

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    克隆仓库后创建虚拟环境,执行 pip install -r requirements.txt,再运行 python app.py

  2. 2

    在 config.py 中修改 ME、TITLE 以及 SOCIAL 中的社交链接与图标变量

  3. 3

    每个栏目对应 content/ 下的同名文件夹,每个项目写成独立 JSON 文件

  4. 4

    JSON 文本中的双引号需要转义,例如写成 \"

  5. 5

    README 说明字段可增删但作者未测试,改动后可能出现问题

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • README 说明 JSON 字段可以增删,但作者未测试过增删后的效果,改动后可能出现问题,需自行承担风险。
  • JSON 文件中的文本需要做字符转义,例如双引号要写成 \",否则内容可能无法正确解析。
  • 社交链接的 FontAwesome 图标为可选项,需自行前往 FontAwesome 网站获取图标代码并注意其素材许可。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

You may add or remove some of them, which may work or might lead to chaos, I have not tested yet.

README 原文

**JSON files needs character escaping.**

README 原文

These are [FontAwesome](https://fontawesome.com/) icons which can be added optionally.

README 原文
https://github.com/riyadhrazzaq/frontpage/blob/master/LICENSEhttps://github.com/riyadhrazzaq/frontpage/blob/master/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-03。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料一般 · 73 / 100
技术栈
Flask · HTML
网站类型
作品集
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2023-05-01
截图检查日期
2026-10-03

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Flask。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。

查看当时使用的来源资料

SHA-256: 6d59ba57e1a033f0e45af5845381c557833b76ed2e09bc7bf58cd28382e3fde3

2026-10-03T07:46:58.459Z

来源文件 / 仓库
# Frontpage 
A small and hackable portfolio app built with Flask and Bootstrap. Demo [here](https://abdurrazzaq.pythonanywhere.com)
![a screenshot of the site](/static/image/screenshot.png)

# Configure and Run
```
git clone https://github.com/riyadhrazzaq/frontpage.git
cd yellow
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python app.py
```

# Create Your Portfolio
## Basic
Current structure of the project is,
```
content/
	project/
		somefile.json
		anotherfile.json
	publication/
		someproject.json
		anotherproject.json
static/
templates/
app.py
config.py
requirements.txt
```

`content/` folder is the backbone of this site. This is where project/publications and other stuff lives. For each section in the site such as **Works, Publication** etc, it needs a folder by that name. Inside them, each project files are stored in [JSON](http://www.json.org/example.html) file. Each project will have its own file. Any JSON file may have following properties, 
* `title`: TEXT. The title of your project.
* `description`: TEXT. Description of your project.
* `date`: TEXT. Date of your project. Formatting must be done by yourself.
* `image`: URL. One image URL accompanying the project. If you store images locally, it must be inside `static/`
* 'more': URL. It will be added to the "More" button. For example, if your project is stored in a [Kaggle](www.kaggle.com) notebook, then URL can be of that notebook.
* `tools`: LIST. A list of tools, frameworks etc used in your project. 

You may add or remove some of them, which may work or might lead to chaos, I have not tested yet.

In `config.py`, Change `ME`, `TITLE` and other social-media variables in `SOCIAL`. In, `SOCIAL`, accompanying every URL, there are some variables like `fab fa-twitter`. These are [FontAwesome](https://fontawesome.com/) icons which can be added optionally. Go to their website, copy and paste codes of the one you like.

## New Sections
New sections can be created just by creating a new folder inside `content/` and add the corresponding details in `SECTION` variable in `config.py`.

## Theme
Most of the design is done using [Bootstrap](https://getbootstrap.com/docs/4.5/getting-started/introduction/). Custom CSS are only used for fonts and `<hr>` customization. To begin customizing, look at how colors can be changed using Bootstrap, [LINK](https://getbootstrap.com/docs/4.5/utilities/colors/).

## Warnings
**JSON files needs character escaping.** For example, if you need double-quotes `""` in any text in JSON, you will need to add a single blackslash `\` before them. `He is the "The Dark Knight"` will become `He is \"The Dark Knight\"`
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。