## 1. Project Overview & Quickstart (zhanglun/lettura)

<h1 align="center">Lettura</h1>
<h3 align="center">Follow your favorite content and never miss a story.</h3>

Another free and open-source feed reader designed to deliver an exceptional reading experience across multiple platforms.

[](https://www.producthunt.com/posts/lettura?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-lettura)

[](https://www.buymeacoffee.com/zhanglun)

### Features

* **Cross-Platform Compatibility**: Seamlessly access your feeds on macOS, Windows, and soon Linux, ensuring your reading experience is uninterrupted regardless of your operating system.
* **Lightning-Fast Performance**: Built with speed in mind, Lettura ensures that you can browse and read your favorite content without any lag or delay.
* **Beautiful and Intuitive UI**: Thanks to the elegant design from @shadcn/ui, Lettura offers a clean, distraction-free interface that makes reading a pleasure.
* **Powerful Search Functionality**: Quickly find the content you need with our efficient search feature that works across all your subscribed feeds.
* **Keyboard Shortcuts**: Master your reading experience with easy-to-use keyboard shortcuts that let you navigate and interact with nearly every function without lifting a finger.
* **Podcast playback support**: Enjoy your favorite audio content directly within the app without missing a single episode.




## Get Started

### Prerequisites

* Install Node.js. I recommend you to use [NVM](https://github.com/nvm-sh/nvm).
* Install pnpm. [Here](https://pnpm.io/installation) is the manual.
* Install Rust. You can find way in [here](https://www.rust-lang.org/tools/install)
* Follow the [Tauri setup guide](https://tauri.app/v1/guides/getting-started/prerequisites)
* Run pnpm install

### Develop and Build

Desktop app (Tauri):

```bash
pnpm dev:desktop    # Frontend dev only
pnpm tauri dev      # Full desktop dev mode
pnpm tauri build    # Build desktop app
pnpm test           # Run tests
```

Docs site:

```bash
pnpm dev:docs       # Dev server for docs
pnpm build:docs     # Build docs site
```

You can get more details about building Tauri app in [here](https://tauri.app/v1/guides/distribution/publishing)

## Repo Activity



### More Projects

* [Pavo: mini desktop wallpaper application. ](https://github.com/zhanglun/pavo)
* [BookWise: book wise, read wiser](https://github.com/zhanglun/bookwise)

## 2. Official Technical Reference & Guides (zhanglun/zhanglun.github.io)

# zhanglun.github.io

张小伦的网络日志。项目基于 Astro 构建，主要用于发布博客、项目页和个人介绍内容。

## 技术栈

- [Astro](https://astro.build/)
- [React](https://react.dev/)
- [TypeScript](https://www.typescriptlang.org/)
- [Tailwind CSS](https://tailwindcss.com/)
- [Fuse.js](https://www.fusejs.io/)
- [Mermaid](https://mermaid.js.org/)
- [Notion API](https://developers.notion.com/) 内容同步

## 本地开发

项目使用 pnpm 管理依赖。

```bash
pnpm install
pnpm dev
```

开发服务默认运行在 `http://localhost:3000`。

## 常用命令

| 命令 | 说明 |
| --- | --- |
| `pnpm dev` | 启动本地开发服务 |
| `pnpm start` | `pnpm dev` 的别名 |
| `pnpm build` | 构建生产版本到 `dist/` |
| `pnpm preview` | 本地预览生产构建 |
| `pnpm format:check` | 检查 Prettier 格式 |
| `pnpm format` | 格式化代码 |
| `pnpm download` | 从 Notion 同步文章内容 |
| `pnpm storybook` | 启动 Storybook |
| `pnpm cz` | 使用 Commitizen 提交 |

## 项目结构

```text
.
├── public/              # 静态资源、字体、站点图片
├── scripts/             # Notion 内容同步脚本
├── src/
│   ├── assets/          # 资源引用
│   ├── components/      # Astro 和 React 组件
│   ├── content/         # Markdown 内容
│   │   ├── about/       # 个人介绍内容
│   │   ├── blogs/       # 本地博客文章
│   │   ├── labs/        # 实验内容
│   │   └── notion/      # Notion 同步文章
│   ├── data/            # 静态数据
│   ├── layouts/         # 页面布局
│   ├── pages/           # Astro 路由页面
│   ├── styles/          # 全局样式
│   ├── utils/           # 工具函数
│   ├── config.ts        # 站点配置
│   └── content.config.ts # Astro 内容集合配置
├── astro.config.mjs
├── tailwind.config.cjs
├── tsconfig.json
└── package.json
```

## 内容管理

博客内容由 Astro Content Collections 管理，集合定义在
`src/content.config.ts`。

- `blogs`: 读取 `src/content/blogs/**/*.md`
- `notion`: 读取 `src/content/notion/**/index.md`

文章 frontmatter 常用字段：

```yaml
title: 文章标题
date: 2026-01-01
tags:
  - frontend
categories:
  - notes
draft: false
```

生产构建会过滤 `draft: true` 的文章。

## Notion 同步

运行以下命令从 Notion 拉取内容：

```bash
pnpm download
```

同步脚本位于 `scripts/notion/`，生成的文章会进入
`src/content/notion/`。

## 环境变量

可在项目根目录创建 `.env`：

```bash
PUBLIC_GOOGLE_SITE_VERIFICATION=your-verification-code
```

`PUBLIC_` 前缀的变量会暴露给客户端代码。

## 构建与部署

```bash
pnpm build
```

构建产物输出到 `dist/`。部署前可以运行：

```bash
pnpm preview
```

## 许可

`package.json` 声明为 `0BSD`。