This is the git repository for the https://ecosystemdashboard.linaro.org static Astro website.
Hosted in this repo are the markdown content files associated with the website. Feel free to submit a PR / Issue if there is anything you would like to change.
The project can be added to the top level if it can fit the one of the following conditions:
-
The project officially released Arm supported releases.
-
The project itself does not release Arm supported releases(some project only release source code), but they officially claimed that they can run on.
-
The project neither released Arm supported releases, nor officially claimed to have Arm support, but some of the mainstream OS distribution provided packages(CentOS, Ubuntu, openEuler, etc), we can probably also provide the information, because those OS distributions can provide support for the software.
When a Pull Request is created, GitHub Actions are used to automatically build a test version of the proposed modified site and then check that any links in the pages are valid.
If there are any questions or problems with the GitHub Actions, please contact Linaro IT Services.
Directory "src/content/projects/" contains all the sub-page info using yaml, so please refer to existing files to filling in the content.
Field | Details |
---|---|
category* | Filling the category filed, e.g. "storage", "database", "big data" |
project - type* | Coding language of the project |
project - logo* | Better to find the png logo without any background. Store it at public/assets/projectLogos/ |
project - overview* | Project introduction |
support_release* | All support arm64 release |
user_stories(if have) - optional | The user stories, please check with user before public the cases. Reference to Hadoop User story |
work_items | Patch, PR, Jira Items which is related to this project support and status on Arm64, the status can be DONE, TODO or WIP |
Events - optional | All the presentations, talks, demo which is related to this project support and status on Arm64 |
* required field
** offer a “not available” option so we can flag it.
The website is developed with the following tools:
- Astro - UI meta-framework used to develop and build the website.
- Tailwind - css framework used to do the majority of the styling.
- Solid.js - client-side UI framework used for highly interactive elements.
- Pagefind - fully static search library used to create search indexes from built website files.
The high-level folder structure of the project is as follows:
├── src/
│ └── components/
│ └── content/
│ └── layouts/
│ └── lib/
│ └── pages/
│ └── styles/
components contains .astro
and .tsx
(for solid.js) UI component files that are reused throughout the website to build pages.
content contains .md
, yaml
and other text files that provide the content of the website. Go to content section.
layouts contains reusable Astro layout files that describe the overall layout of a page, including html headers, scripts etc.
lib contains .ts
typescript files with helper functions that are used throughout the website for formatting, fetching images etc.
pages contains Astro page files that describe the individual pages within the website. This folder uses file based routing to determine urls in the built site.
styles contains css files. Due to the use tailwind, there is only one global css file to extend tailwind where necessary (alongside the tailwind configuration file). Further stylesheets might be added where necessary if required for specific dependencies.
The content of the website is located in the src/content
folder of the repo, spread across various folders, referred to as "collections". See Astro content collections for more info.
├── content/
│ └── authors/
│ └── blogs/
│ └── data/
│ └── events/
│ └── news/
│ └── pages/
│ └── rows/
│ └── sections/
│ └── tags/
Pages can be edited via the relevant .md
files in the src/content/pages
folder. The slug
property of the frontmatter determines the resulting url of the page.
New layouts can be built by adding rows and sections to the flow
property of a page's frontmatter. This property defines a series of row components that contain section components to build the page. The row
property of flow
and the component
property of a sections
item must both reference a filename (without extension) within the row
and section
collections respectively.
- flow:
- row: container_row
sections:
- component: cards
container_row
here references src/content/rows/container_row.md
and cards
references src/content/sections/cards.md
If a new row or section component is required, please contact it-support@linaro.org.
Developer note: Pages are built from the pages collection by the src/pages/[...slug].astro
file.
Running the site locally will require Node.js
(>=18) and the yarn
package manager.
First, install dependencies with yarn install
.
The following commands can then be used to build and run the site locally.
Command | Description |
---|---|
yarn build |
Builds the site in the dist folder of the root directory. |
yarn start |
Runs the site in a development server, with hot module replacement to reflect updates to the code as soon as they are saved. |
yarn preview |
Runs the most recent build files in a development server. Unlike yarn dev this won't have live updates, but will be a closer representation of the site as it would be in deployment. |
If you have any questions about updating or building this website, please contact Linaro IT Support at it-support@linaro.org.