No description
  • TypeScript 88.4%
  • CSS 6.8%
  • JavaScript 4.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Tom Sweeney a5640dce70
Merge pull request #508 from roldel/patch-1
Fix terminal command overflow on get-started page
2026-07-20 14:09:25 -04:00
.github Update actions/setup-node action to v7 2026-07-14 04:36:51 +00:00
.husky linting and formatting rules from podman desktop 2023-01-19 16:36:18 -07:00
.yarn/releases fix(deps): update node dependencies 2025-01-01 02:07:22 +00:00
blog Add release announcements as a separate blog. 2023-10-13 16:47:07 +01:00
docs docs(installation): Fix the formatting of the Download Podman section 2026-07-09 15:11:08 +02:00
release Add release announcements as a separate blog. 2023-10-13 16:47:07 +01:00
src Fix terminal command overflow on get-started page 2026-07-16 18:06:19 +00:00
static chore: Update Podman Desktop version to v1.28.3 2026-07-20 14:07:35 +00:00
.eslintignore linting and formatting rules from podman desktop 2023-01-19 16:36:18 -07:00
.eslintrc configure eslint 2023-01-19 17:00:56 -07:00
.gitignore Removepackage-lock.json & yarn.lock 2023-06-14 15:21:25 +01:00
.prettierignore linting and formatting rules from podman desktop 2023-01-19 16:36:18 -07:00
.prettierrc single quotes to match other podman projects 2023-01-20 15:37:39 -07:00
.yarnrc.yml fix(deps): update node dependencies 2025-01-01 02:07:22 +00:00
babel.config.js initial docusaurus scaffolding 2023-01-19 12:57:02 -07:00
CODE-OF-CONDUCT.md Update CODE-OF-CONDUCT.md 2023-05-19 16:44:19 -04:00
docusaurus.config.js Update Copyright footer 2025-07-14 09:21:21 -04:00
GOVERNANCE.md Add Governace and Maintainers files 2025-08-12 15:08:31 -04:00
License Create License 2023-01-19 09:55:26 -05:00
MAINTAINERS.md Add Governace and Maintainers files 2025-08-12 15:08:31 -04:00
package.json Update Node dependencies 2026-05-04 17:29:52 +00:00
README.md docs(README): add missing backtick in Deployment section 2025-10-01 10:11:19 +05:30
SECURITY.md Redirects and docs (#92) 2023-05-10 00:44:15 -06:00
sidebars.js Add link to podman-py docs 2023-11-16 06:33:08 -05:00
tailwind.config.js Thank you section (#33) 2023-04-25 15:57:29 -06:00
tsconfig.json Add Modal to display meeting notes 2023-06-20 18:37:18 +01:00
types.d.ts Add Community Meetings Component 2023-06-14 14:52:42 +01:00
yarn.lock Update Node dependencies 2026-07-10 01:19:32 +00:00

Podman.io Website README

This website is built using Docusaurus 2.

Build Locally

Follow these steps to test the site with either a local development server, or by statically generating the site.

  • make sure yarn is installed
  • Install packages
    • $ yarn
  • Run a local development server
    • $ yarn start
  • Generate static content (this is how the site is built for production)
    • $ yarn build
      • After this you can test the local build with:
        • yarn serve

To test with the https, follow the following steps:

  • Generate the localhost self-signed certificate and install it (uses mkcert tool):
    • $ mkcert localhost
    • $ mkcert -install
  • Start the local development server with HTTPS enabled:
    • $ HTTPS=true SSL_CERT_FILE=localhost.pem SSL_KEY_FILE=localhost-key.pem yarn start

Testing on your Virtual Machine

If you're doing development on a VM there are a few steps to take to test your changes:

  • Set your firewall of your VM to allow access to port 3000. These commands only have to be run once for the lifetime of the VM, or until you reconfigure your firewall settings.
    • # firewall-cmd --permanent --add-port=3000/tcp
    • # firewall-cmd --reload
  • As noted above, build and start your web server after your proposed changes are complete:
    • $ yarn build
    • $ yarn serve
  • On the host machine of your VM, open a web browser and connect to the IP of your VM:
    • http://#.#.#.#:3000
    • Note, http and NOT https, and #.#.#.# is your VM's TCP/IP address, such as 10.0.0.1

Deployment

  • The site is set to automatically deploy when code is pushed to the main branch
    • See .github/workflows/static.yml
  • Important: prior to merging to main, run yarn build locally

How to Update the Podman.io Website

Page Content

Text and Images

  • Most page data is stored in static/data/<page-name>
    • It is set up so that you can use markdown in the strings for much of the content.
      • If the markdown syntax renders, it needs to be passed into the Markdown component (in components/utilities/)
  • files like static/data/globa.ts, static/data/testimonials.ts, and static/data/meetings.ts are meant to make it easier for people with limited coding experience to be able to quickly update specific and regularly changing content.
    • note: the papaparse library has been added for switching to .csv files in the future.

Page Style and Structure

Pages Pattern

  • Fat arrow notation for sections that only appear on the particular page
    • These sections are organized in an exported function at the end of the file
  • Large sections
    • some content takes up a lot of space and may be useful elsewhere or temporary, they can be found in src/components/content/
      • Components in this directory should be self sufficient for data (but it's not necessary of course)

Components

  • src/components/content: Self-sufficient components, large page content components, temporary components
  • src/components/layout: Headers, grids, and any other sections that organize content
  • src/components/shapes: SVG components such as the wave border
  • src/components/ui: Reusable components, little to no data by default, presentational
  • src/components/utilities: Buttons, links, and other small reusable elements

Typescript

  • a bunch of base types are found in typs.d.ts
    • these are primarily for props. Kept minimal by design and then extended when needed (primarily with style props)

Assets

CSS

  • Podman and Podman Desktop color themes are added in tailwind.config.js
  • A custom radial gradient has also been added to tailwind.config.js (it uses the same breakpoints as other tailwind gradients)
  • changes to the default styles are in src/assets/css/main.css in the following order:
    • imports
    • docusaurus root colors
    • docusarus component style changes
    • font configuration
  • default fonts are set inside @layer base{} in main.css using tailwind's @apply syntax

Configuration Information

How to Update Docusaurus

  • Run the following command to upgrade docusaurus
    • yarn up @docusaurus/core@latest @docusaurus/preset-classic@latest
  • note that the docusaurus site says to use upgrade but it's actually up when using yarn
  • to upgrade tailwind or other packages, similarly use the command:
    • yarn up <package-name>

Plugins and Libraries

  • Icon Library: Iconify
  • CSS Framework: Tailwind (see tailwind.config.js, assets/css/main.css)
  • Code Formatting: Prettier (see .prettierrc, .prettierignore)
  • Linting: Eslint (see .eslintrc, .eslintignore)
  • Rendering markdown from js strings: react markdown parser
    • Use the custom ` component for any markdown strings
      • This component wraps the markdown parser in <BrowserOnly>{() => <ReactMarkdown />}</BrowserOnly> and handles the lazy loading and imports, reducing the amount of code needed on each instance.
  • Rendering html from wordpress: html-react-parser
    • Use this to render any injected html to avoid XSS