diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0b1d7d93b..711c78487 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -24,7 +24,7 @@ Please only add new entries below the [Unreleased](#unreleased---releasedate) he
🎉🎉🎉 The first version of Ribir.
-
+
The goal of this version of Ribir is to finish the core framework and answer our questions about the feasibility of the design.
diff --git a/README.md b/README.md
index 807277c3c..6f4b6ada9 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
Ribir - Non-intrusive Declarative GUI Framework
-
+
@@ -19,7 +19,7 @@ Use Rust to build multi-platform applications from a single codebase.
-
+
## What's Ribir?
@@ -56,7 +56,7 @@ fn main() {
-
+
|
diff --git a/static/img/app-window.svg b/docs/en/assets/app-window.svg
similarity index 100%
rename from static/img/app-window.svg
rename to docs/en/assets/app-window.svg
diff --git a/static/img/architecture.svg b/docs/en/assets/architecture.svg
similarity index 100%
rename from static/img/architecture.svg
rename to docs/en/assets/architecture.svg
diff --git a/static/img/box_counter.gif b/docs/en/assets/box_counter.gif
similarity index 100%
rename from static/img/box_counter.gif
rename to docs/en/assets/box_counter.gif
diff --git a/static/img/data-flows.svg b/docs/en/assets/data-flows.svg
similarity index 100%
rename from static/img/data-flows.svg
rename to docs/en/assets/data-flows.svg
diff --git a/static/img/todos-demo.gif b/docs/en/assets/todos-demo.gif
similarity index 100%
rename from static/img/todos-demo.gif
rename to docs/en/assets/todos-demo.gif
diff --git a/static/img/todos-widgets.png b/docs/en/assets/todos-widgets.png
similarity index 100%
rename from static/img/todos-widgets.png
rename to docs/en/assets/todos-widgets.png
diff --git a/docs/en/get_started/quick_start.md b/docs/en/get_started/quick_start.md
index 3d08ec7a4..c98935665 100644
--- a/docs/en/get_started/quick_start.md
+++ b/docs/en/get_started/quick_start.md
@@ -275,7 +275,7 @@ The complete life cycle of an interactive Ribir widget is as follows:
4. Receive data changes through the state, and update the view point-to-point according to the mapping relationship.
5. Repeat steps 3 and 4.
-
+
Now, let's improve our example by introducing the state.
@@ -383,7 +383,7 @@ At this point, all the structures of the views you create are static, and only t
Suppose you have a counter that doesn't display the count with numbers, but instead uses red squares to represent the count:
-
+
The code:
diff --git a/docs/en/practice_todos_app/develop_a_todos_app.md b/docs/en/practice_todos_app/develop_a_todos_app.md
index 13e32f61d..8b805bd29 100644
--- a/docs/en/practice_todos_app/develop_a_todos_app.md
+++ b/docs/en/practice_todos_app/develop_a_todos_app.md
@@ -17,11 +17,11 @@ This app will allow you to add, delete, edit and mark tasks finish, and support
To complete this tutorial, we assume that you:
- Mastered the basic concepts and syntax of [Rust](https://www.rust-lang.org/learn) language
-- Completed the prerequisite tutorial series [Quick Start](../en/QuickStart)
+- Completed the prerequisite tutorial series [Getting Started](../get_started/quick_start.md)
## Showcase
-
+
## Code structure
@@ -133,7 +133,7 @@ Now your application has a complete logic, but no UI yet. Next, let's use Ribir
Before we start developing the UI, let's divide the UI into several main parts according to the prototype diagram, so that we can communicate better in the following text:
-
+
1. Title area, showing the name of the application
2. Input area, enter the task content, press Enter to add the task
diff --git a/docs/readme.md b/docs/readme.md
new file mode 100644
index 000000000..ac5e98daa
--- /dev/null
+++ b/docs/readme.md
@@ -0,0 +1,5 @@
+# Ribir Documentation
+
+Please place all asset files in the 'assets' subdirectory within the respective language directory. This helps us manage the versions of assets that correspond to the documentation when we build the website.
+
+Since all assets are linked to the same folder, if you need an image for a specific language, create a new image with the language code as a suffix. Please avoid overwriting the original image.
\ No newline at end of file
diff --git a/docs/zh/assets b/docs/zh/assets
new file mode 120000
index 000000000..947146d74
--- /dev/null
+++ b/docs/zh/assets
@@ -0,0 +1 @@
+../en/assets
\ No newline at end of file
diff --git a/docs/zh/get_started/quick_start.md b/docs/zh/get_started/quick_start.md
index 99e67fbb4..097af0c52 100644
--- a/docs/zh/get_started/quick_start.md
+++ b/docs/zh/get_started/quick_start.md
@@ -271,7 +271,7 @@ fn main() {
4. 通过状态接收到数据的变更,根据映射关系点对点更新视图
5. 重复步骤 3 和 4 。
-
+
现在,让我们引入状态来改造我们的例子。
@@ -380,7 +380,7 @@ let sum = pipe!(*$a + *$b);
假设你有一个计数器,这个计数器不是用文字来显示数目,而是通过红色小方块来计数:
-
+
代码:
diff --git a/docs/zh/Introduction.md b/docs/zh/introduction.md
similarity index 100%
rename from docs/zh/Introduction.md
rename to docs/zh/introduction.md
diff --git a/docs/zh/practice_todos_app/develop_a_todos_app.md b/docs/zh/practice_todos_app/develop_a_todos_app.md
index 65adad951..e2bbfb24c 100644
--- a/docs/zh/practice_todos_app/develop_a_todos_app.md
+++ b/docs/zh/practice_todos_app/develop_a_todos_app.md
@@ -13,12 +13,12 @@
为了完成本教程,我们假设你:
- 了解 [Rust](https://www.rust-lang.org/learn) 语言的基础知识和语法
-- 完成了前置教程 [快速上手](../zh/快速上手) 系列
+- 完成了前置教程 [快速上手](../get_started/quick_start.md) 系列
## 最终效果展示
-
+
## 代码结构
@@ -131,7 +131,7 @@ impl TaskId {
在正式进入 UI 开发之前,我们先对照原型图划分几个主要部分,以方便后文的交流:
-
+[todos-widgets](../assets/todos-widgets.png)
1. Title 标题区,展示应用的名称
2. Input 区,输入任务内容,按回车键添加任务
@@ -667,7 +667,6 @@ fn task_lists(this: &impl StateWriter, cond: fn(&Task) -> bool) -
fn task_item(task: S) -> impl WidgetBuilder
where
- S: StateWriter + 'static,
S::OriginWriter: StateWriter,
{
let todos = task.origin_writer().clone_writer();
diff --git a/static/counter_demo.gif b/static/counter_demo.gif
new file mode 100644
index 000000000..e65b5cbb8
Binary files /dev/null and b/static/counter_demo.gif differ
diff --git a/static/img/hero-banner.png b/static/hero-banner.png
similarity index 100%
rename from static/img/hero-banner.png
rename to static/hero-banner.png
diff --git a/static/img/logo.svg b/static/logo.svg
similarity index 100%
rename from static/img/logo.svg
rename to static/logo.svg