Note: these docs will be expanded upon in a future iteration of the site
-
This is the repository for the Filecoin Foundation website (fil.org)
-
This repo represents a static site which requires compilation, but can then be served as a static resource
-
This site is hosted on IPFS and is compatible with relative URLs, for IPFS and IPNS gateway paths
-
The site's resources are served statically, but internal navigation is virtualized: in other words, the site acts as an SPA when browsed on the client
-
While a static site, this app can be extended at any time to a full application by changing the
targetin settings
- Requires nodeJS and has been tested on node 16
- Uses a Vue framework, nuxtJS, deployed in static mode
To build this site locally
- Clone this repo
- Make sure NodeJS 16 or newer is installed
- To build a static site
- Run
npm ci && npm run generate - A directory
distis created, which contains the static site output
- Run
- To run locally, for features like hot reload
- Run
npm ci && npm run dev - The site will be available in real time via a localhost URL
- Resources are compiled in this process; for example, all SCSS styles are converted to CSS and tree-shaken
- Run
Key areas of this repo include
/pages- All page templates/components- Each reusable collection of elements is abstracted to a component, and most components accept various properties that determine the way they are rendered/static- Static resources which will be available post-compile/assets/scss- The global styles for the app are available here in SASS/SCSS, more specific styles can be found at the bottom of.vuepages and components (single file components on vuejs.org)/assets/svgs- Contains iconography or other small vectors, in SVG format/content- The site's content, which is edited using the Forestry CMS
- Staging -
developbuilds toa non public url - Production -
mainbuilds tofil.org - Content -
contentis a branch that the CMS writes to- When pull requested against
main, thecontentbranch will be auto approved by a Github action
- When pull requested against
- Each PR will also generate an IPFS build preview link, so it can be validated before being merged
- Editing content directly
- Structured content can be found in
jsonfiles - Written paragraph-type content can be found in
mdfiles, in markdown format - See the
content/pages/directory
- Structured content can be found in
- Editing content via the CMS
- Content can be edited via Forestry.io, and requires a login
- Global site content, like default metadata, is editable in the
generalsection - Structured content is shown in blocks on a per-page basis (see
pagessection) - Blog content is fully editable in a wysiwyg markdown editor
- Media can be uploaded directly to the repository via the
mediasection, after which point it can be used in any rich media field