{"id":26032180,"url":"https://github.com/apache/paimon-website","last_synced_at":"2025-04-09T17:12:54.208Z","repository":{"id":152196868,"uuid":"614190527","full_name":"apache/paimon-website","owner":"apache","description":"Apache Paimon Website","archived":false,"fork":false,"pushed_at":"2025-04-03T00:41:56.000Z","size":46763,"stargazers_count":15,"open_issues_count":1,"forks_count":18,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-03T04:17:04.389Z","etag":null,"topics":["paimon"],"latest_commit_sha":null,"homepage":"https://paimon.apache.org/","language":"TypeScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-15T04:33:14.000Z","updated_at":"2025-04-01T08:23:32.000Z","dependencies_parsed_at":"2025-03-14T01:41:46.589Z","dependency_job_id":"f3be09e6-2341-48ea-bde3-1ca1ab105fe4","html_url":"https://github.com/apache/paimon-website","commit_stats":null,"previous_names":["apache/paimon-website"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fpaimon-website","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fpaimon-website/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fpaimon-website/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fpaimon-website/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/paimon-website/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247898768,"owners_count":21014771,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["paimon"],"created_at":"2025-03-06T21:26:17.003Z","updated_at":"2025-04-09T17:12:54.201Z","avatar_url":"https://github.com/apache.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Apache Paimon Website UI\n\nThis project is a website UI for Apache Paimon.\n\n## Development\n\n### Install\n\nRun `pnpm install` to install all dependencies.\n\n\u003e Note: Make sure you have installed [pnpm](https://pnpm.io/) before running the command.\n\n### Dev server\n\nRun `pnpm start` for a dev server. Navigate to `http://localhost:8801/`. The application will automatically reload if you change any of the source files.\n\n### Build\n\nRun `pnpm build` to build the project. The build artifacts will be stored in the `dist/` directory.\n\nYou can also run `npx http-server dist` to serve the build files to preview the website.\n\n### Lint\n\nRun `pnpm lint` to lint the project to ensure the code quality. Run `pnpm lint:fix` to fix the linting issues. Of course, `husky` will run the linting automatically before each commit.\n\n## Internationalization\n\nThis project supports both English and Chinese. The language of the website (defaults to English) will be determined by the users choice in the website, which is stored in the browser's local storage.\n\n### Add a new text\n\n1. Import `TranslateModule` in the component where you want to translate the text.\n\n    ```typescript\n   // xxx.component.ts\n    import { TranslateModule } from 'src/translate/translate.module';\n    ```\n\n2. Add the `translate` Directive to the HTML element you want to translate.\n\n    ```html\n    \u003cp translate\u003eThis is an example text.\u003c/p\u003e\n    ```\n   \n    \u003e Note: Refer to [@ngx-translate/core](https://github.com/ngx-translate/core) for more usages.\n\n3. Extract the text to the `src/assets/i18n/{language}.json` file by running `pnpm i18n:extract`. \n\n    Then you can find the extracted text in both the `src/assets/i18n/en.json` and `src/assets/i18n/zh.json` file.\n\n    ```json\n    {\n      \"This is an example text.\": \"This is an example text.\"\n    }\n    ```\n   \n4. Manually update the translation in the `src/assets/i18n/zh.json` file.\n\n    ```json\n    {\n      \"This is an example text.\": \"这是一个示例文本。\"\n    }\n    ```\n\n### Update the translation\n\nIf you just want to update the Chinese translation, you can directly modify the `src/assets/i18n/zh.json` file.\n\nIf you want to update the English translation, you need to modify the component's HTML file and run `pnpm i18n:extract` to extract the text again, then update the `src/assets/i18n/zh.json` file.\n\n## Blog Maintenance\n\n### Add a new blog post\n\n1. Create a new markdown file `{title}.md` in the `community/articles` directory.\n2. Add the following front matter to the markdown file, including the title, author, categories, release date, and languages.\n\n    ```markdown\n    ---\n    authors:\n      - 李劲松\n    categories:\n      - 技术探索\n    date: 2024.08.22\n    languages:\n      - zh\n    ---\n    ```\n\n   Please make sure the date is in the format `yyyy.MM.dd`, and the language is either `en` or `zh`.\n\n3. Parse the articles and generate the blog metadata by running `pnpm parse`. The metadata will be stored in the `src/assets/metadata/` directory.\n4. Wait for the dev server to reload, and you can preview the new blog post on your localhost website.\n5. Commit the changes and push them to the repository.\n\n### Internationalization\n\nThe blog post supports both English and Chinese. The language of the blog post will be determined by the `languages` field in the front matter of the markdown file.\n\nIf user chooses the Chinese language in the website, the Chinese blog post will be displayed; otherwise, the English blog post will be displayed.\n\n## Users Maintenance\n\nList of users who are using Apache Paimon are maintained in the `src/assets/users/` file.\n\n### Add a new user\n\nFirstly You should prepare a new image file with transparent background (png format best) and which color is in grayscale.\n\nThen add the image file `xxx.png` in the `src/assets/users/` directory and add the `xxx.png` item in the `WhosusingComponent`.\n\nSave the file and preview the page to make sure it looks well.\n\n## Release Notes Maintenance\n\nThe release notes are maintained in the `community/docs/releases` directory.\n\n### Add a new release note\n\n1. Create a new markdown file `release-{version}.md` in the `community/docs/releases` directory.\n2. Add the following front matter to the markdown file, including the title, type (always `release`) and semantic version.\n\n    ```markdown\n    ---\n    title: \"Release 0.9\"\n    type: release\n    version: 0.9.0\n    weight: 90\n    ---\n    ```\n   The `weight` field is used to sort the release notes in the website. The higher the number, the earlier the release note will be displayed.\n   \n   If you'd like to use some pictures in the markdown, you can save theme in the `public/img` directory and use relative path, such as `![image](./img/xxx.png)`.\n3. Update the latest version in the `community/docs/downloads.md`.\n4. Commit the changes and push them to the repository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fpaimon-website","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fpaimon-website","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fpaimon-website/lists"}