diff --git a/README.md b/README.md
index 14851f855..ac53e8ebe 100644
--- a/README.md
+++ b/README.md
@@ -36,20 +36,19 @@ For now, the entire open source community base on Git and GitHub. It's centraliz
For now, the monorepo engine could be deployed on your host machine or insulated into containers. For deploying through docker, follow the steps below:
-1. Clone the project and build the docker images
+1. Pull docker images from Docker Hub
```bash
-$ git clone https://github.com/web3infra-foundation/mega.git
-$ cd mega
-$ git submodule update --init --recursive
-$ docker buildx build -t mono-pg:0.1-pre-release -f ./docker/mono-pg-dockerfile .
-$ docker buildx build -t mono-engine:0.1-pre-release -f ./docker/mono-engine-dockerfile .
-$ docker buildx build -t mono-ui:0.1-pre-release -f ./docker/mono-ui-dockerfile .
+$ docker pull genedna/mega:mono-pg-0.1-pre-release
+$ docker pull genedna/mega:mono-engine:0.1-pre-release
+$ docker pull genedna/mega:mono-ui:0.1-pre-release
```
2. Initialize for mono-engine and PostgreSQL
```bash
+$ git clone https://github.com/web3infra-foundation/mega.git
+$ cd mega
# Linux or MacOS
$ ./docker/init-volume.sh /mnt/data ./docker/config.toml
```
diff --git a/aria/contents/docs/components/code-block/index.mdx b/aria/contents/docs/components/code-block/index.mdx
new file mode 100644
index 000000000..8b55b8533
--- /dev/null
+++ b/aria/contents/docs/components/code-block/index.mdx
@@ -0,0 +1,41 @@
+---
+title: Code Block
+description: This section previews the Code Block features in markdown.
+---
+
+The Code Block in this documentation allows you to display code snippets with optional line numbering and line highlighting.
+
+## Preview
+
+```javascript:main.js showLineNumbers {3-4}
+function isRocketAboutToCrash() {
+ // Check if the rocket is stable
+ if (!isStable()) {
+ NoCrash(); // Prevent the crash
+ }
+}
+```
+
+In this example, line numbers are displayed for lines 1 to 4. You can specify which lines to highlight using the format `{2,3-5}`.
+
+## Usage
+
+You can directly use the following syntax to create a code block with line numbers and highlight specific lines:
+
+````plaintext
+```javascript:main.js showLineNumbers {3-4}
+function isRocketAboutToCrash() {
+ // Check if the rocket is stable
+ if (!isStable()) {
+ NoCrash(); // Prevent the crash
+ }
+}
+```
+````
+
+### Features
+
+- **Line Numbers**: Enable line numbers by adding `showLineNumbers` after the opening backticks.
+- **Highlight Lines**: Specify lines to highlight using curly braces (e.g., `{2,3-5}`).
+- **Syntax Highlighting**: Use the appropriate language for syntax highlighting.
+
diff --git a/aria/contents/docs/components/custom/index.mdx b/aria/contents/docs/components/custom/index.mdx
new file mode 100644
index 000000000..aedb25203
--- /dev/null
+++ b/aria/contents/docs/components/custom/index.mdx
@@ -0,0 +1,38 @@
+---
+title: Custom Components
+description: How to create custom components for Markdown.
+---
+
+To add custom components in AriaDocs, follow these steps:
+
+1. **Create Your Component**: First, create your custom component in the `@components/markdown` folder. For example, you might create a file named `Outlet.tsx`.
+
+2. **Import Your Component**: Next, open the `@lib/markdown.ts` file. This is where you'll register your custom component for use in Markdown.
+
+3. **Add Your Component to the Components Object**: In the `@lib/markdown.ts` file, import your custom component and add it to the `components` object. Here’s how to do it:
+
+```ts
+import Outlet from "@/components/markdown/outlet";
+
+// Add custom components
+const components = {
+ Outlet,
+};
+```
+
+4. **Using Your Custom Component in Markdown**: After registering your component, you can now use it anywhere in your Markdown content. For instance, if your `Outlet` component is designed to display additional information, you can use it as follows:
+
+### Markdown Example
+
+```markdown
+
+ This is some custom content rendered by the Outlet component!
+
+```
+
+### Rendered Output
+
+This will render the content inside the `Outlet` component, allowing you to create reusable and dynamic Markdown content.
+
+
+By following these steps, you can extend the capabilities of your Markdown documentation and create a more engaging user experience.
diff --git a/aria/contents/docs/components/image-link/index.mdx b/aria/contents/docs/components/image-link/index.mdx
new file mode 100644
index 000000000..c95de605a
--- /dev/null
+++ b/aria/contents/docs/components/image-link/index.mdx
@@ -0,0 +1,57 @@
+---
+title: Image and Link
+description: This section provides an overview of how AriaDocs handles links and images in Markdown.
+---
+
+In AriaDocs, all links and images written in Markdown are automatically converted to their respective Next.js components. This allows for better optimization and performance in your application.
+
+## Links
+
+When you create a link in your Markdown, it is converted to the Next.js `Link` component. This enables client-side navigation and improves loading times. Here’s an example of how a Markdown link is transformed:
+
+### Markdown example
+
+```markdown
+[Visit OpenAI](https://www.openai.com)
+```
+
+### Rendered Output
+
+The above Markdown is converted to:
+
+```jsx
+
+ Visit OpenAI
+
+```
+
+## Images
+
+Similarly, images in Markdown are transformed into the Next.js `Image` component. This allows for automatic image optimization, such as lazy loading and resizing, which enhances performance and user experience. Here’s an example:
+
+### Markdown
+
+```markdown
+
+```
+
+### Output
+
+The above Markdown is converted to:
+
+```jsx
+
+```
+
+## Benefits
+
+- **Performance Optimization**: Automatic conversion to Next.js components ensures optimized loading of images and links.
+- **Improved User Experience**: Client-side navigation with Next.js `Link` improves the browsing experience.
+- **Responsive Images**: Next.js `Image` component handles responsive images, providing the best quality for various device sizes.
+
+By utilizing these features, you can ensure that your documentation is not only visually appealing but also performs efficiently.
diff --git a/aria/contents/docs/components/index.mdx b/aria/contents/docs/components/index.mdx
new file mode 100644
index 000000000..41506db89
--- /dev/null
+++ b/aria/contents/docs/components/index.mdx
@@ -0,0 +1,9 @@
+---
+title: Components
+description: This section provides an overview of the custom components available in AriaDocs.
+---
+
+Explore the custom components we've defined for easy integration and development within your projects. Each component is designed to enhance your workflow and streamline your development process.
+
+
+
diff --git a/aria/contents/docs/components/note/index.mdx b/aria/contents/docs/components/note/index.mdx
new file mode 100644
index 000000000..a7c740023
--- /dev/null
+++ b/aria/contents/docs/components/note/index.mdx
@@ -0,0 +1,44 @@
+---
+title: Note
+description: This section previews the Note component.
+---
+
+The `Note` component allows you to display different types of messages such as general notes, warnings, or success notifications. Each type is styled accordingly, providing a clear visual cue to the user.
+
+## Preview
+
+
+ This is a general note to convey information to the user.
+
+
+ This is a danger alert to notify the user of a critical issue.
+
+
+ This is a warning alert for issues that require attention.
+
+
+ This is a success message to inform the user of successful actions.
+
+
+## Props
+
+| Prop | Type | Default | Description |
+|---------|--------------------------------|---------|--------------------------------------------|
+| `title` | `string` | "Note" | Sets the title of the note. |
+| `type` | `"note"`, `"danger"`, `"warning"`, `"success"` | "note" | Determines the visual style of the note. |
+
+## Code
+
+```jsx
+
+ This is a general note to convey information to the user.
+
+
+ This is a danger alert to notify the user of a critical issue.
+
+
+ This is a warning alert for issues that require attention.
+
+
+ This is a success message to inform the user of successful actions.
+
diff --git a/aria/contents/docs/components/project-structure/index.mdx b/aria/contents/docs/components/project-structure/index.mdx
new file mode 100644
index 000000000..ba5099d3e
--- /dev/null
+++ b/aria/contents/docs/components/project-structure/index.mdx
@@ -0,0 +1,95 @@
+---
+title: Project Structure
+description: This section provides an overview of Project Structure.
+---
+
+## Project Structure Overview
+
+### app
+
+This folder contains the main application code for Next.js, managing layouts, routing, and specific content pages. It is organized to support both the `docs` and `blog` sections, with dedicated pages and layouts for each section.
+
+```
+app // Main Next.js application folder
+├── page.tsx // Hero page - the entry point of the app showcasing key content
+├── layout.tsx // Main layout file, applies global navigation and footer
+├── blog
+│ ├── page.tsx // Blog list page, displaying all blog posts with titles, dates, and excerpts
+│ └── [slug]
+│ └── page.tsx // Dynamic blog post page for viewing individual posts with rich content
+└── docs
+ ├── layout.tsx // Documentation layout with sidebar, providing easy navigation across doc pages
+ └── [[...slug]] // Catch-all route to handle nested documentation pages, allowing flexible doc structure
+```
+
+### components
+
+This folder contains all reusable components used throughout the project. It’s structured to categorize components, making it easy to locate and manage UI elements, Markdown customizations, and navigation.
+
+```
+components // Reusable components
+├── ui // ShadCN components, includes standardized UI elements like buttons, forms, and modals
+├── markdown // Custom Markdown components for rendering rich Markdown content
+│ ├── CodeBlock.tsx // Component for rendering syntax-highlighted code blocks
+│ ├── Image.tsx // Component for handling responsive images in Markdown
+│ └── Table.tsx // Component to render tables with consistent styling
+└── navbar.tsx // Main navigation component for the site header, managing links and responsive behavior
+```
+
+### styles
+
+This folder contains global and component-specific CSS files, allowing for project-wide styling consistency and customizations.
+
+```
+styles // CSS files
+├── globals.css // Global CSS file, includes Tailwind base, utilities, and custom global styles
+├── syntax.css // Syntax highlighting styles, providing consistent code block appearance across the site
+└── overrides.css // Additional custom styles that override specific component or plugin defaults
+```
+
+### contents
+
+This folder stores all Markdown content for the documentation and blog sections, with clear organization by content type. Each Markdown file represents a single piece of content, with frontmatter used for metadata.
+
+```
+contents // Markdown content for blogs and documentation
+├── docs // Documentation content, structured to support nested sections and pages
+│ ├── getting-started.md // Introductory guide for new users
+│ ├── api-reference.md // API documentation with detailed endpoint descriptions
+│ └── tutorials // Subfolder for tutorial-style content
+│ └── tutorial-1.md // Step-by-step tutorial on a specific topic
+└── blogs // Blog content, organized by post
+ ├── intro-to-project.md // Blog post introducing the project and its goals
+ └── dev-updates.md // Post discussing recent development updates and new features
+```
+
+### public
+
+This folder holds all static assets, such as images, videos, fonts, and icons. These files are directly accessible via URL, so it’s important to avoid sensitive or private content here.
+
+```
+public // Publicly accessible assets
+├── images // Image assets, used across various parts of the app
+│ ├── logo.png // Project logo for branding
+│ └── banner.jpg // Banner image for the hero section
+├── icons // SVG icons for the app
+└── videos // Video files for media content, if any
+```
+
+### lib
+
+This folder contains helper functions and utilities used across the application, such as Markdown parsing and routing logic. These utilities help keep the codebase clean and organized by separating out common functionality.
+
+```
+lib // Utility or helper functions
+├── markdown.ts // Markdown parsing logic, converts Markdown to HTML and adds custom components
+├── routes-config.ts // Routing configuration for docs, maps URLs to content files for dynamic routing
+└── utils.tsx // General utility functions used across the app, such as data formatting and validation helpers
+```
+
+### Additional
+
+- **`package.json`**: Contains metadata about the project, dependencies, and scripts for building and running the application.
+- **`tailwind.config.ts`**: Configures Tailwind CSS, allowing customization of theme colors, fonts, and responsive breakpoints specific to this project.
+
+This structure organizes your project in a way that supports scalability and maintainability, making it easier to navigate and work on different sections of the application.
\ No newline at end of file
diff --git a/aria/contents/docs/components/stepper/index.mdx b/aria/contents/docs/components/stepper/index.mdx
new file mode 100644
index 000000000..55a056f6a
--- /dev/null
+++ b/aria/contents/docs/components/stepper/index.mdx
@@ -0,0 +1,38 @@
+---
+title: Stepper
+description: This section previews the stepper component.
+---
+
+In this guide, we utilize a custom `Stepper` component, specifically designed for AriaDocs, which enables users to display step-by-step instructions directly within the markdown render.
+
+## Preview
+##
+
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec interdum, felis sed efficitur tincidunt, justo nulla viverra enim, et maximus nunc dolor in lorem.
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin non neque ut eros auctor accumsan. Mauris a nisl vitae magna ultricies aliquam.
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque ut ipsum nec nulla ultricies porttitor et non justo.
+
+
+
+## Code
+
+```jsx
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec interdum, felis sed efficitur tincidunt, justo nulla viverra enim, et maximus nunc dolor in lorem.
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin non neque ut eros auctor accumsan. Mauris a nisl vitae magna ultricies aliquam.
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque ut ipsum nec nulla ultricies porttitor et non justo.
+
+
+```
+
diff --git a/aria/contents/docs/components/tabs/index.mdx b/aria/contents/docs/components/tabs/index.mdx
new file mode 100644
index 000000000..3dc080dc3
--- /dev/null
+++ b/aria/contents/docs/components/tabs/index.mdx
@@ -0,0 +1,68 @@
+---
+title: Tabs
+description: This section previews the Tabs component.
+---
+
+The `Tabs` component allows you to organize content into multiple sections, enabling users to switch between them easily. This is particularly useful for displaying related content in a compact manner.
+
+## Preview
+
+
+
+ Java
+ TypeScript
+
+
+ ```java
+ // HelloWorld.java
+ public class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("Hello, World!");
+ }
+ }
+ ```
+
+
+ ```typescript
+ // helloWorld.ts
+ function helloWorld(): void {
+ console.log("Hello, World!");
+ }
+ helloWorld();
+ ```
+
+
+
+## Props
+
+| Prop | Type | Default | Description |
+|-------------|--------|-------------|--------------------------------------------------|
+| `defaultValue` | `string` | `null` | The value of the tab that is selected by default. |
+| `className` | `string` | `""` | Additional CSS classes for styling the Tabs component. |
+
+## Code
+
+```jsx
+
+
+ Java
+ TypeScript
+
+
+ ```java
+ // HelloWorld.java
+ public class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("Hello, World!");
+ }
+ }
+ ```
+
+ ```typescript
+ // helloWorld.ts
+ function helloWorld(): void {
+ console.log("Hello, World!");
+ }
+ helloWorld();
+ ```
+
diff --git a/aria/contents/docs/getting-started/installation/index.mdx b/aria/contents/docs/getting-started/installation/index.mdx
index 37c83b098..cd6f2331c 100644
--- a/aria/contents/docs/getting-started/installation/index.mdx
+++ b/aria/contents/docs/getting-started/installation/index.mdx
@@ -1,72 +1,193 @@
---
title: Installation
-description: Installation guide for our application.
+description: Build docker images and run guide for Mega
---
-Setting up AriaDocs is straightforward, with options to clone the repository or use the convenient `npx` command. AriaDocs requires [Node.js](https://nodejs.org/) version 18 or higher for optimal performance.
+## Clone Repository and Run with Docker
+To get started, you can clone the mega repository directly from GitHub.
-## Clone Repository
-To get started, you can clone the AriaDocs repository directly from GitHub.
-
- Begin by cloning the AriaDocs repository from GitHub:
+
+ Begin by cloning the Mega repository from GitHub:
- ```plaintext
- git clone https://github.com/nisabmohd/Aria-Docs.git
+ ```bash
+ git clone https://github.com/web3infra-foundation/mega.git
```
-
- After cloning, navigate into the project directory to start setting up:
+
+ After cloning, navigate into the project directory to building the Docker images:
- ```plaintext
- cd Aria-Docs
+ ```bash
+ cd mega
+ git submodule update --init --recursive
+ docker buildx build -t mono-pg:0.1-pre-release -f ./docker/mono-pg-dockerfile .
+ docker buildx build -t mono-engine:0.1-pre-release -f ./docker/mono-engine-dockerfile .
+ docker buildx build -t mono-ui:0.1-pre-release -f ./docker/mono-ui-dockerfile .
```
-
- Install all necessary project dependencies with npm:
+
+ Initialize the configuration for the `mono-engine` and PostgreSQL:
-
- To support React 19, package maintainers will need to test and update their packages to include React 19 as a peer dependency. This is already in progress.
+
+ After initializing the configuration, you need to edit the `config.toml` file to set the correct values for your environment.
- ```plaintext
- npm install
+ for Linux or MacOS:
+
+ ```bash
+ ./docker/init-volume.sh /mnt/data ./docker/config.toml
+ ```
+
+ for Windows:
+
+ ```bash
+ .\init-volume.ps1 -baseDir "D:\" -configFile ".\config.toml"
```
-
- Finally, start the development server to view the project locally:
+
+ Start whole mono engine stack on local for testing
+
+ ```bash
+ # create network
+ docker network create mono-network
- ```plaintext
- npm run dev
+ # run postgres
+ docker run --rm -it -d --name mono-pg --network mono-network -v /tmp/data/mono/pg-data:/var/lib/postgresql/data -p 5432:5432 mono-pg:0.1-pre-release
+ docker run --rm -it -d --name mono-engine --network mono-network -v /tmp/data/mono/mono-data:/opt/mega -p 8000:8000 mono-engine:0.1-pre-release
+ docker run --rm -it -d --name mono-ui --network mono-network -e MEGA_INTERNAL_HOST=http://mono-engine:8000 -e MEGA_HOST=http://localhost:8000 -p 3000:3000 mono-ui:0.1-pre-release
+ ```
+
+ Start whole mono engine stack on server with domain
+
+ ```bash
+ # create network
+ docker network create mono-network
+
+ # run postgres
+ docker run --rm -it -d --name mono-pg --network mono-network --memory=4g -v /mnt/data/mono/pg-data:/var/lib/postgresql/data -p 5432:5432 mono-pg:0.1-pre-release
+ docker run --rm -it -d --name mono-engine --network mono-network --memory=8g -v /mnt/data/mono/mono-data:/opt/mega -p 8000:8000 -p 22:9000 mono-engine:0.1-pre-release
+ docker run --rm -it -d --name mono-ui --network mono-network --memory=1g -e MEGA_INTERNAL_HOST=http://mono-engine:8000 -e MEGA_HOST=https://git.gitmega.dev -p 3000:3000 mono-ui:0.1-pre-release
+ ```
+
+
+
+
+
+ ```Nginx
+ server {
+ listen 80;
+ listen [::]:80;
+ server_name git.gitmega.org;
+ return 301 https://$server_name$request_uri;
+ }
+
+ server {
+ listen 443 ssl;
+ listen [::]:443 ssl;
+
+ server_name git.gitmega.org;
+
+ ssl_certificate /etc/letsencrypt/live/git.gitmega.org/fullchain.pem;
+ ssl_certificate_key /etc/letsencrypt/live/git.gitmega.org/privkey.pem;
+
+ ssl_protocols TLSv1.2 TLSv1.3;
+ ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305;
+ ssl_prefer_server_ciphers on;
+ ssl_session_cache shared:SSL:10m;
+ ssl_session_timeout 10m;
+ ssl_session_tickets off;
+
+ ssl_stapling on;
+ ssl_stapling_verify on;
+ resolver 8.8.8.8 8.8.4.4 valid=300s;
+ resolver_timeout 5s;
+
+ add_header Strict-Transport-Security "max-age=63072000" always;
+
+ client_max_body_size 5G;
+
+ access_log /var/log/nginx/git.gitmega.access.log;
+ error_log /var/log/nginx/git.gitmega.error.log;
+
+ location / {
+ proxy_pass http://127.0.0.1:8000;
+ }
+
+ }
+
+ server {
+ listen 80;
+ listen [::]:80;
+ server_name console.gitmega.org;
+ return 301 https://$server_name$request_uri;
+ }
+
+ server {
+ listen 443 ssl;
+ listen [::]:443 ssl;
+
+ server_name console.gitmega.org;
+
+ ssl_certificate /etc/letsencrypt/live/console.gitmega.org/fullchain.pem;
+ ssl_certificate_key /etc/letsencrypt/live/console.gitmega.org/privkey.pem;
+
+ ssl_protocols TLSv1.2 TLSv1.3;
+ ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305;
+ ssl_prefer_server_ciphers on;
+ ssl_session_cache shared:SSL:10m;
+ ssl_session_timeout 10m;
+ ssl_session_tickets off;
+
+ ssl_stapling on;
+ ssl_stapling_verify on;
+ resolver 8.8.8.8 8.8.4.4 valid=300s;
+ resolver_timeout 5s;
+
+ add_header Strict-Transport-Security "max-age=63072000" always;
+
+ access_log /var/log/nginx/console.gitmega.access.log;
+ error_log /var/log/nginx/console.gitmega.error.log;
+
+ location / {
+ proxy_pass http://127.0.0.1:3000;
+
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Host $host;
+ proxy_set_header X-Forwarded-Proto $scheme;
+
+ proxy_set_header Origin $scheme://$host;
+ }
+
+ }
```
-## Quick Setup with npx
+## Quick Setup with Docker Hub
-For a faster setup, use the `npx` command to create a new AriaDocs project in one step:
+For a faster setup, pull images from the Docker Hub in one step:
-```plaintext
-npx create-aria-doc
+```bash
+docker pull genedna/mega:mono-pg-0.1-pre-release
+docker pull genedna/mega:mono-engine:0.1-pre-release
+docker pull genedna/mega:mono-ui:0.1-pre-release
```
-**Command Output:**
+
+Befor run with the following commands, you must initialize the volume and configuration files for mono-engine and PostgreSQL.
+
-```plaintext
-Creating a new AriaDocs project in /path/to/your/project from the master branch...
-Cloning Master (Full Documentation)...
-AriaDocs project successfully created in /path/to/your/project!
+```bash
+# create network
+$ docker network create mono-network
-Next steps:
-1. Navigate to your project directory:
- cd
-2. Install dependencies:
- npm install
-3. Start the development server:
- npm run dev
+# run postgres
+$ docker run --rm -it -d --name mono-pg --network mono-network -v /tmp/data/mono/pg-data:/var/lib/postgresql/data -p 5432:5432 mono-pg:0.1-pre-release
+$ docker run --rm -it -d --name mono-engine --network mono-network -v /tmp/data/mono/mono-data:/opt/mega -p 8000:8000 mono-engine:0.1-pre-release
+$ docker run --rm -it -d --name mono-ui --network mono-network -e MEGA_INTERNAL_HOST=http://mono-engine:8000 -e MEGA_HOST=http://localhost:8000 -p 3000:3000 mono-ui:0.1-pre-release
```
-
-With this setup, you’ll have a ready-to-use AriaDocs instance to start building your documentation.
\ No newline at end of file
diff --git a/aria/contents/docs/getting-started/introduction/index.mdx b/aria/contents/docs/getting-started/introduction/index.mdx
index 3a68624ac..198ac8435 100644
--- a/aria/contents/docs/getting-started/introduction/index.mdx
+++ b/aria/contents/docs/getting-started/introduction/index.mdx
@@ -10,7 +10,7 @@ Welcome to **Mega**! Mega is an unofficial open source implementation of Google
Mega is proudly **Open Source**! 🎉 We believe in creating an accessible, collaborative platform that thrives on community contributions.
- Interested in helping us improve? Check out our [Mega](https://github.com/web3infra-foundation/megao) to get started! From feature suggestions to bug fixes, all contributions are welcome.
+ Interested in helping us improve? Check out our [Mega](https://github.com/web3infra-foundation/mega) to get started! From feature suggestions to bug fixes, all contributions are welcome.
## Project Overview
@@ -20,3 +20,11 @@ Mega is proudly **Open Source**! 🎉 We believe in creating an accessible, coll
| **Feature** | **Description** |
|-------------------------------|----------------------------------------------------------|
| Git Compatible | |
+| Trunk-based Development | |
+| Conventional Commits | |
+| Code Owners | |
+| Decentralized Collaboration | |
+
+## Technology & Libraries
+
+## Deploy
diff --git a/aria/lib/routes-config.ts b/aria/lib/routes-config.ts
index b3e751bd3..f4d74a7e4 100644
--- a/aria/lib/routes-config.ts
+++ b/aria/lib/routes-config.ts
@@ -14,32 +14,22 @@ export const ROUTES: EachRoute[] = [
noLink: true,
items: [
{ title: "Introduction", href: "/introduction" },
- {
- title: "Installation",
- href: "/installation",
- },
+ { title: "Installation", href: "/installation" },
{ title: "Quick Start Guide", href: "/quick-start-guide" },
- {
- title: "Project Structure",
- href: "/project-structure",
- },
- {
- title: "Components",
- href: "/components",
- items: [
- { title: "Stepper", href: "/stepper" },
- { title: "Tabs", href: "/tabs" },
- { title: "Note", href: "/note" },
- { title: "Code Block", href: "/code-block" },
- { title: "Image & Link", href: "/image-link" },
- { title: "Custom", href: "/custom" },
- ],
- },
- { title: "Themes", href: "/themes" },
- {
- title: "Customize",
- href: "/customize",
- },
+ ],
+ },
+ {
+ title: "Components",
+ href: "/components",
+ noLink: true,
+ items: [
+ { title: "Project Structure", href: "/project-structure" },
+ { title: "Stepper", href: "/stepper" },
+ { title: "Tabs", href: "/tabs" },
+ { title: "Note", href: "/note" },
+ { title: "Code Block", href: "/code-block" },
+ { title: "Image & Link", href: "/image-link" },
+ { title: "Custom", href: "/custom" },
],
},
];
diff --git a/docker/README.md b/docker/README.md
index 613b8445a..fb58fcd6b 100644
--- a/docker/README.md
+++ b/docker/README.md
@@ -62,33 +62,78 @@ docker run --rm -it -d --name mono-ui --network mono-network --memory=1g -e MEGA
```Nginx
server {
- listen 443;
- listen [::]:443;
+ listen 80;
+ listen [::]:80;
+ server_name git.gitmega.org;
+ return 301 https://$server_name$request_uri;
+}
+
+server {
+ listen 443 ssl;
+ listen [::]:443 ssl;
+
+ server_name git.gitmega.org;
- server_name git.gitxxx.org;
+ ssl_certificate /etc/letsencrypt/live/git.gitmega.org/fullchain.pem;
+ ssl_certificate_key /etc/letsencrypt/live/git.gitmega.org/privkey.pem;
- ssl_certificate /etc/letsencrypt/live/gitxxx.org/fullchain.pem;
- ssl_certificate_key /etc/letsencrypt/live/gitxxx.org/privkey.pem;
+ ssl_protocols TLSv1.2 TLSv1.3;
+ ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305;
+ ssl_prefer_server_ciphers on;
+ ssl_session_cache shared:SSL:10m;
+ ssl_session_timeout 10m;
+ ssl_session_tickets off;
- access_log /var/log/nginx/git.gitxxx.access.log;
- error_log /var/log/nginx/git.gitxxx.error.log;
+ ssl_stapling on;
+ ssl_stapling_verify on;
+ resolver 8.8.8.8 8.8.4.4 valid=300s;
+ resolver_timeout 5s;
+
+ add_header Strict-Transport-Security "max-age=63072000" always;
+
+ client_max_body_size 5G;
+
+ access_log /var/log/nginx/git.gitmega.access.log;
+ error_log /var/log/nginx/git.gitmega.error.log;
location / {
proxy_pass http://127.0.0.1:8000;
}
+
}
server {
- listen 443;
- listen [::]:443;
+ listen 80;
+ listen [::]:80;
+ server_name console.gitmega.org;
+ return 301 https://$server_name$request_uri;
+}
+
+server {
+ listen 443 ssl;
+ listen [::]:443 ssl;
+
+ server_name console.gitmega.org;
- server_name console.gitxxx.org;
+ ssl_certificate /etc/letsencrypt/live/console.gitmega.org/fullchain.pem;
+ ssl_certificate_key /etc/letsencrypt/live/console.gitmega.org/privkey.pem;
- ssl_certificate /etc/letsencrypt/live/gitxxx.org/fullchain.pem;
- ssl_certificate_key /etc/letsencrypt/live/gitxxx.org/privkey.pem;
+ ssl_protocols TLSv1.2 TLSv1.3;
+ ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305;
+ ssl_prefer_server_ciphers on;
+ ssl_session_cache shared:SSL:10m;
+ ssl_session_timeout 10m;
+ ssl_session_tickets off;
- access_log /var/log/nginx/console.gitxxx.access.log;
- error_log /var/log/nginx/console.gitxxx.error.log;
+ ssl_stapling on;
+ ssl_stapling_verify on;
+ resolver 8.8.8.8 8.8.4.4 valid=300s;
+ resolver_timeout 5s;
+
+ add_header Strict-Transport-Security "max-age=63072000" always;
+
+ access_log /var/log/nginx/console.gitmega.access.log;
+ error_log /var/log/nginx/console.gitmega.error.log;
location / {
proxy_pass http://127.0.0.1:3000;
@@ -101,6 +146,7 @@ server {
proxy_set_header Origin $scheme://$host;
}
+
}
```
diff --git a/mercury/src/internal/pack/cache_object.rs b/mercury/src/internal/pack/cache_object.rs
index ff8e1c012..123513c53 100644
--- a/mercury/src/internal/pack/cache_object.rs
+++ b/mercury/src/internal/pack/cache_object.rs
@@ -13,7 +13,7 @@ use crate::internal::pack::utils;
use crate::{hash::SHA1, internal::object::types::ObjectType};
use crate::internal::pack::entry::Entry;
-/// record heap-size of all CacheObjects, used for memory limit.
+// /// record heap-size of all CacheObjects, used for memory limit.
// static CACHE_OBJS_MEM_SIZE: AtomicUsize = AtomicUsize::new(0);
/// file load&store trait
@@ -21,6 +21,7 @@ pub trait FileLoadStore: Serialize + for<'a> Deserialize<'a> {
fn f_load(path: &Path) -> Result;
fn f_save(&self, path: &Path) -> Result<(), io::Error>;
}
+
// trait alias, so that impl FileLoadStore == impl Serialize + Deserialize
impl Deserialize<'a>> FileLoadStore for T {
fn f_load(path: &Path) -> Result {