Become an Author
Dear Sir/Madam
Thank you for joining our group of authors. Below are some commonly used tools and guidelines that will help you get started more quickly.
Start the Website
We currently use Docusaurus as the development framework. Below are the basic commands to start the website:
git clone https://github.com/DocsaidLab/website.git
cd website
nvm use node
yarn start
Detailed Setup Process
Please follow the steps below to check and configure your environment to ensure it runs smoothly:
-
Check Node.js Version
- We recommend using Node.js v22 or above.
- If you haven't installed
nvm
, please refer to the official nvm documentation for installation. - After installation, run the following commands to check and set the Node.js version:
nvm install 22
nvm use 22
-
Install Yarn
- If you haven't installed Yarn, you can install it with the following command:
npm install -g yarn
- If you haven't installed Yarn, you can install it with the following command:
-
Install Dependencies
- After entering the project directory, run the following command to install the required dependencies:
yarn install
- After entering the project directory, run the following command to install the required dependencies:
-
Check Website Startup Port
- By default, Docusaurus runs on
http://localhost:3000
. - If the port is already in use, you can modify the start command in
package.json
or set a new port through an environment variable:yarn start --port 3001
- By default, Docusaurus runs on
-
Test Website Startup
- After running the startup command, ensure that the website can be accessed normally through your browser.
- If you encounter issues, try clearing the cache and restarting:
yarn clear
yarn start
-
Additional Testing
- If you need to test in production mode, use the following commands:
yarn build
yarn serve - The website will be available at
http://localhost:3000
for testing.
- If you need to test in production mode, use the following commands:
Docusaurus allows us to directly write website content in Markdown and customize it using React. For detailed usage, refer to: Docusaurus Markdown Features
Writing Technical Documents
After completing the project development and achieving certain results, you may be eager to share your achievements with everyone. At this point, you can follow these steps to publish your technical documentation on our website:
Here, we use the DocAligner
project as an example for creating technical documentation:
-
In the
docs
folder, create a new folder, for example,docs/docaligner
. -
In the folder, create an
index.md
file with the following content:# DocAligner (Project Name)
The core feature of this project is called "**Document Localization**". (Project Introduction)
- [**DocAligner Github (Project's Github)**](https://github.com/DocsaidLab/DocAligner)
---
![title](./resources/title.jpg) (Project image, you can draw it yourself or ask GPT to generate)
---
(Fixed code to display the project's card)
import DocCardList from '@theme/DocCardList';
<DocCardList /> -
Create a
resources
folder within the folder to store project images. -
Other technical documents, such as:
docs/docaligner/quickstart.md
: Quick Start Guidedocs/docaligner/installation.md
: Installation Guidedocs/docaligner/advanced.md
: Advanced Usagedocs/docaligner/model_arch
: Model Architecturedocs/docaligner/benchmark
: Performance Evaluation- ... (Other content you wish to share)
-
After completion, submit a PR to the
main
branch and wait for review.
Writing Blogs
During the development process, you may encounter various issues, both big and small.
Your problem is someone else's problem, and your solution is someone else's solution.
Therefore, we encourage you to write a blog about your problems and solutions and share them with others.
Below are the guidelines for writing a blog:
-
In the
blog
folder, find the corresponding year folder, such asblog/2024
. If it does not exist, please create one. -
In the year folder, create a folder with the date and title, such as
12-17-flexible-video-conversion-by-python
. -
In the folder, create an
index.md
file with the following content, using the title from earlier as an example:---
slug: flexible-video-conversion-by-python (The URL of the article)
title: Batch Video Conversion
authors: Zephyr (Must exist in authors.yml)
image: /img/2024/1217.webp (Please generate with GPT and place it in the /static/img folder)
tags: [Media-Processing, Python, ffmpeg]
description: Using Python and ffmpeg to create a batch conversion process for specified formats.
---
I received a batch of MOV video files, but the system does not support reading them. They need to be converted to MP4.
So, I had to write some code myself.
<!-- truncate --> (Summary end marker)
## Design Draft (Main content begins) -
In the folder, create an
img
folder to store the blog's images.For aesthetics, you can use HTML syntax to align and resize images in the markdown document:
<div align="center"> (Center image)
<figure style={{"width": "90%"}}> (Resize image)
![img description](./img/img_name.jpg)
</figure>
</div> -
Once completed, submit a PR to the
main
branch and wait for review. -
Finally, ensure your information is written into the
authors.yml
file so that we can correctly display your author details.For example, the current file content is as follows:
Zephyr: (Name used to locate the author)
name: Zephyr (Name displayed on the webpage)
title: Dosaid maintainer, Full-Stack AI Engineer (Author's title)
url: https://github.com/zephyr-sh (Author's GitHub)
image_url: https://github.com/zephyr-sh.png (Author's avatar)
socials:
github: "zephyr-sh" (Author's GitHub account)For more detailed settings, refer to: Docusaurus Blog Authors
Writing Paper Notes
Reading papers is our fate, and writing notes is to remind our future selves, because our memory is so fragile that we can hardly remember what we had for lunch yesterday, let alone the papers we’ve read.
If you also want to take notes, here are the guidelines for writing paper notes:
-
Paper Selection Guide:
- Choose papers published at top conferences such as CVPR, ICCV, NeurIPS, etc., to ensure the quality of the papers.
- If the paper does not meet the first criterion, choose papers with over 100 citations, indicating the paper has certain reference value.
- Avoid papers that require payment to access.
- Choose papers that are publicly available on ArXiv so that readers can access the full text.
-
Paper Year: There are several types of paper years, including the publication date on ArXiv, the conference date, and the paper's release date. For easy reference, we use the public date on ArXiv.
-
In the
papers
folder, find the corresponding branch for the paper, such aspapers/multimodality
. If it doesn't exist, please create one. -
In the branch folder, create a folder that includes the year and title of the paper, for example,
2408-xgen-mm
. -
Inside the newly created folder, create an
index.md
file, and place the paper images in the same-levelimg
folder. -
The standard format for writing paper notes is as follows:
- Title: Format as year, month, and paper title.
- Authors: Author names.
- Subtitle: A catchy subtitle of your choice.
- Paper Link: Full paper title and link.
- Problem Definition: Summarize the problem defined by the authors.
- Solution: Explain in detail how the authors solve the problem.
- Discussion: Effectiveness or controversy of the solution or experimental results.
- Conclusion: Summarize the key points of the paper.
-
A basic example is as follows:
---
title: "[24.08] xGen-MM" (Paper title, defined by industry norms or the authors themselves)
authors: Zephyr (Author name, related definitions should be written in the `/blog/authors.json` file)
---
## Also known as BLIP-3 (A catchy subtitle)
[**xGen-MM (BLIP-3): A Family of Open Large Multimodal Models**](https://arxiv.org/abs/2408.08872) (Full paper title and link)
---
Just some casual chat.
## Problem Definition
Summarize the problem defined by the authors.
## Solution
Explain in detail how the authors solve the problem.
## Discussion
Effectiveness or controversy of the solution or experimental results.
## Conclusion
Summarize the key points of the paper. -
Writing Guidelines:
- If you think the paper has issues, first suspect that you might have misunderstood or misinterpreted it.
- If you still think there are problems, first look for other references, don't make rash comments.
- Every paper has its trade-offs; focus on the inspirations from the paper, not its flaws.
- Maintain objectivity and neutrality, avoiding excessive criticism or praise.
- If you can’t find anything good about the paper, abandon writing the note; you chose the wrong paper.
- Be professional and avoid inappropriate language or images.
-
Once completed, submit a PR to the
main
branch and wait for review.
Writing Code in Articles
We use the MDX syntax based on React, so you can write React code directly within articles.
Here’s a simple example: first, write a HelloWorld.js
component:
import React from "react";
const HelloWorld = () => {
return <div>Hello, World!</div>;
};
export default HelloWorld;
Then, in the markdown article, import it. Even though it’s a .md
file, it will be parsed as an MDX file, so you can write React code directly:
import HelloWorld from "./HelloWorld";
# Title
<HelloWorld />
## Subtitle
Other content
Multilingual Support
After writing the article, you suddenly realize that our website supports multiple languages, but you don't know any other languages!
Don't worry, generally speaking, someone named Zephyr will help you with this, but you can do it yourself:
-
Place your written article in the corresponding
i18n
folder, for example:- Articles for
docs
go into thei18n/en/docusaurus-plugin-content-docs/current
folder, - Articles for
blog
go into thei18n/en/docusaurus-plugin-content-blog/current
folder, - Articles for
papers
go into thei18n/en/docusaurus-plugin-content-papers/current
folder.
For Japanese, place the content in the
i18n/ja
folder, and for other languages, follow the same pattern. - Articles for
-
Then, translate the content of the article in the
i18n
folder to the corresponding language. It is recommended to use GPTs for translation, then remove any unnecessary phrases and obvious mistakes. -
Finally, submit a PR to the
main
branch and wait for the review.
Finally
We must remind ourselves that, while many AI tools can now assist in generating articles, a truly captivating piece of writing must carry the author's unique personal style and emotional expression, which is something AI cannot fully replicate or replace.
The core operation of AI models is based on statistical models, generating content through maximum likelihood estimation. This means that the model tends to produce mainstream, common syntax and sentence structures, leading to content that often feels bland and similar in style. Therefore, excessive reliance on the model’s output can cause creators to lose their originality and soul, making the article lack depth and impact.
If you find yourself unable to create without AI assistance, or your mind goes completely blank, consider it a warning: you need to first strengthen your own writing skills and master basic creative techniques. Otherwise, you might end up becoming just a mouthpiece for the model.
In our experience, AI models are very suitable for tedious, repetitive tasks, such as spreadsheet data analysis and data aggregation, because these tasks typically have high standardization, requiring precision and efficiency but relatively low demands for creativity and flexibility:
After all, spreadsheet data won’t become more interesting or change its experimental results just because you are creative.
Take "paper notes" as an example, where AI can assist us with difficult mathematical theories or help summarize experimental results and conclusions in the "## Discussion" section. However, it cannot replace our understanding and critical thinking of the paper, nor can it replace in-depth analysis. Similarly, for "project documentation," AI can quickly generate large amounts of technical documentation for the tedious details of function inputs and outputs, but for the design philosophy of the model, we still rely on our own expertise. As for "blogs," which completely depend on the creator’s style and thinking, AI’s help is even more limited.
Therefore, we should clearly define the scope of AI’s use and adjust our creative strategies accordingly to ensure the quality and uniqueness of our work. AI is a tool that can help us expand our perspectives and improve efficiency, not a tool to limit our thinking or style.
Remember, the truly moving words in writing come from the heart.
AI will only replace those who are unwilling to think. I think, therefore I am.
*
2024 © Zephyr