diff --git a/web/project-website/content/_index.md b/web/project-website/content/_index.md index 9234388c..cb20e803 100644 --- a/web/project-website/content/_index.md +++ b/web/project-website/content/_index.md @@ -41,23 +41,25 @@ software. Development is supported by the Blender project. Flamenco consists of a few components and requires almost no configuration to be used in production. -<---> +{{< /columns >}} + +{{< columns >}} ### Easy Customization Designed to be customizable, Flamenco allows TDs to specify Job Types using the JavaScript language and seamlessly fit into the pipeline. -{{< /columns >}} - -{{< columns >}} +<---> ### Cross-platform and Self-hosted Flamenco runs on all major operating system, and is fully hosted on your own hardware. Your data is yours, and yours alone. -<---> +{{< /columns >}} + +{{< columns >}} ### Robust Technology diff --git a/web/project-website/content/about/_index.md b/web/project-website/content/about/_index.md new file mode 100644 index 00000000..4aff319f --- /dev/null +++ b/web/project-website/content/about/_index.md @@ -0,0 +1,102 @@ +--- +title: About +weight: 1 + +aliases: + - /design-principles/ + +geekdocNav: false +geekdocHidden: true +--- +{{< columns >}} +Flamenco is a lightweight, cross-platform framework to dispatch and schedule rendering jobs for smaller teams, or individuals. + +[Blender Studio][studio] uses Flamenco in production with a handful of servers +(scaling up to hundreds of servers on demand), and combines those with desktop +workstations when they're not used by the artists. + +The Flamenco project distributes executables and a Blender add-on +to install and run ([downloads][downloads]). + +As the Blender.org project is built on free and Open Source software, Linux is +the main platform Flamenco is developed against. Windows and MacOS will also be +supported, but on a best-effort basis with help from the community. + +[downloads]: {{< ref "/download/" >}} + +[studio]: https://studio.blender.org/ + +<---> + + +![Flamenco Configuration](flamenco_components.png) +Example of a Flamenco configuration. + + +{{< /columns >}} + + +## Design Principles + +The following principles guide the design of Flamenco: + +{{< columns >}} + +### Blender.org Project +Flamenco is a true blender.org project. This means that it's Free and Open +Source, made by the community, lead by Blender HQ. Its development will fall +under the umbrella of the [Pipline, Assets & IO][PAIO] module. + +[PAIO]: https://projects.blender.org/blender/blender/wiki/Module:%20Pipeline,%20Assets%20&%20I/O + +### Minimal Authentication & Organisation +Because Flamenco is aimed at small studios and individuals, it won't offer +much in terms of user authentication, nor the organisation of users into groups. +[Custom job types][jobtypes] can be used to attach arbitrary metadata to jobs, +such as the submitter's name, a project identifier, etc. + +[jobtypes]: {{< ref "/usage/job-types" >}} + +### Minimize External Components +Running Flamenco should be extremely simple. This means that it should depend +on as few external packages as possible. Apart from the Flamenco components +themselves, all you need to install is [Blender][blender]. +The downside of this is that development might take longer, as some things +that an external service could solve need to be implemented. This trade-off of +developer time for simplicity of use is considered a good thing, though. + +[blender]: https://www.blender.org/ + +<---> + +### No Errors, Guide Users To Success +Instead of stopping with a description of what's wrong, like "no database +configured", Flamenco should show something helpful in which you're guided +towards a working system. + +### Customisable +Studio pipeline developers / TDs should be able to customise the behaviour of +Flamenco. They should be able to create new [job types][jobtypes], and adjust +existing job types to their needs. For this, Flamenco uses JavaScript to convert +a job definition like "*render this blend file, frames 1-100*" into individual +tasks for computers to execute. + +[jobtypes]: {{< ref "/usage/job-types" >}} + +### Work offline +Like Blender itself, Flamenco should be able to fully work offline. That is, +work without internet connection. If any future feature should need such a +connection, that feature should always be optional, and be disabled by default. + +### Data Storage +Data should be stored as plain files whenever possible. Where a higher level +of coordination is required, an embedded database can be used; currently +Flamenco uses [SQLite][sqlite] for this. + +[sqlite]: https://pkg.go.dev/modernc.org/sqlite + +{{< /columns >}} + + + + diff --git a/web/project-website/content/about/flamenco_components.png b/web/project-website/content/about/flamenco_components.png new file mode 100644 index 00000000..14c7558c Binary files /dev/null and b/web/project-website/content/about/flamenco_components.png differ diff --git a/web/project-website/content/development/_index.md b/web/project-website/content/development/_index.md index 6536db05..e82edd51 100644 --- a/web/project-website/content/development/_index.md +++ b/web/project-website/content/development/_index.md @@ -1,4 +1,5 @@ --- title: Development weight: 100 +geekdocCollapseSection: true --- diff --git a/web/project-website/content/development/get-involved/_index.md b/web/project-website/content/development/get-involved/_index.md index 01bb2969..963e3b1a 100644 --- a/web/project-website/content/development/get-involved/_index.md +++ b/web/project-website/content/development/get-involved/_index.md @@ -1,6 +1,8 @@ --- title: Get Involved weight: 2 +geekdocNav: false +geekdocHidden: true --- Flamenco is a Free and Open Source project, developed in public under the GPL license. diff --git a/web/project-website/content/download/_index.md b/web/project-website/content/download/_index.md index abb7f43e..9f8a8608 100644 --- a/web/project-website/content/download/_index.md +++ b/web/project-website/content/download/_index.md @@ -1,6 +1,8 @@ --- title: Download weight: 2 +geekdocNav: false +geekdocHidden: true --- Download Flamenco for your platform here. Each download contains both Flamenco diff --git a/web/project-website/content/faq/_index.md b/web/project-website/content/faq/_index.md index ff8793fe..92ba0259 100644 --- a/web/project-website/content/faq/_index.md +++ b/web/project-website/content/faq/_index.md @@ -1,10 +1,35 @@ --- title: Frequently Asked Questions weight: 10 +geekdocNav: false +geekdocHidden: true --- +{{< toc format=html >}} +## What is new in Flamenco 3? + +Flamenco was pretty much rebuilt from scratch between versions 2 and 3. One of +the major goals of Flamenco 3 is to simplify the installation & use. + +Compared to version 2, Flamenco 3: + +- no longer requires an online component; Flamenco Server has been removed. +- no longer requires you to install & configure a database. +- works 100% on your own infrastructure. +- just has two executables for you to run (Manager and Worker). +- has its own dedicated Blender add-on, which can be downloaded directly from Flamenco Manager. +- supports [custom job types][custom-jobs] written in JavaScript. +- comes bundled with FFmpeg; you only need to install Blender. + +[custom-jobs]: {{< ref "usage/job-types" >}} + +### Flamenco 3 Change Log + +The more interesting changes between Flamenco 3 versions are listed in the [changelog][changelog]. + +[changelog]: https://projects.blender.org/studio/flamenco/src/branch/main/CHANGELOG.md + + -This is a list of frequently asked questions, with their answers. It's by no -means an exhaustive list. ## I use a mix of different operating systems, can I still use Flamenco? diff --git a/web/project-website/content/mission/_index.md b/web/project-website/content/mission/_index.md deleted file mode 100644 index 23ed04f9..00000000 --- a/web/project-website/content/mission/_index.md +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: Mission & Design -weight: 1 - -aliases: - - /design-principles/ - -resources: - - name: components - src: flamenco_components.png - title: Flamenco Components ---- - -Flamenco is a lightweight, cross-platform framework to dispatch and schedule rendering jobs for smaller animation studios and individuals at home. - -## Target Audience - -Flamenco is meant for **smaller animation studios and individuals** at home. -Think of roughly **1-10 artists** using it, and **1-100 computers** attached to -the farm to execute tasks. [Blender Studio][studio] uses a handful of servers, -and combines those with various desktop machines when they're not used by the -artists. - -There is no need to compile or build anything. The Flamenco project distributes -executables and a Blender add-on for you to install and run ([downloads][downloads]). - -[studio]: https://studio.blender.org/ -[downloads]: {{< ref "/download/" >}} - -## Design Principles - -The following principles guide the design of Flamenco: - -Blender.org Project -: Flamenco is a true blender.org project. This means that it's Free and Open -Source, made by the community, lead by Blender HQ. Its development will fall -under the umbrella of the [Pipline, Assets & IO][PAIO] module. - -[PAIO]: https://projects.blender.org/blender/blender/wiki/Module:%20Pipeline,%20Assets%20&%20I/O - -Minimal Authentication & Organisation -: Because Flamenco is aimed at small studios and individuals, it won't offer -much in terms of user authentication, nor the organisation of users into groups. -[Custom job types][jobtypes] can be used to attach arbitrary metadata to jobs, -such as the submitter's name, a project identifier, etc. - -[jobtypes]: {{< ref "/usage/job-types" >}} - -Minimize External Components -: Running Flamenco should be extremely simple. This means that it should depend -on as few external packages as possible. Apart from the Flamenco components -themselves, all you need to install is [Blender][blender]. -: The downside of this is that development might take longer, as some things -that an external service could solve need to be implemented. This trade-off of -developer time for simplicity of use is considered a good thing, though. - -[blender]: https://www.blender.org/ - -No Errors, Guide Users To Success -: Instead of stopping with a description of what's wrong, like "no database -configured", Flamenco should show something helpful in which you're guided -towards a working system. - -Customisable -: Studio pipeline developers / TDs should be able to customise the behaviour of -Flamenco. They should be able to create new [job types][jobtypes], and adjust -existing job types to their needs. For this, Flamenco uses JavaScript to convert -a job definition like "*render this blend file, frames 1-100*" into individual -tasks for computers to execute. - -Work offline -: Like Blender itself, Flamenco should be able to fully work offline. That is, -work without internet connection. If any future feature should need such a -connection, that feature should always be optional, and be disabled by default. - -Data Storage -: Data should be stored as plain files whenever possible. Where a higher level -of coordination is required, an embedded database can be used; currently -Flamenco uses [SQLite][sqlite] for this. - -[sqlite]: https://pkg.go.dev/modernc.org/sqlite - -## Supported Platforms - -As the Blender.org project is built on free and Open Source software, Linux is -the main platform Flamenco is developed against. Windows and MacOS will also be -supported, but on a best-effort basis with help from the community. - -## Infrastructure - -Setting up a render farm is not as simple as pushing a button, but Flamenco aims -to keep things as simple as possible. - -What you need to run Flamenco is: - -- One or more computers to do the work, i.e. running **Flamenco Worker**. You'll - probably also want to install [Blender][blender] there. -- A computer to run the central software, **Flamenco Manager**. This could be - one of the above computers, or a dedicated one. -- A local network with **file sharing** already set up, so that the above - computers can all reach the same set of files. - -[blender]: https://www.blender.org/ - -{{< img name="components" size="small" lazy=false >}} diff --git a/web/project-website/content/mission/flamenco_components.png b/web/project-website/content/mission/flamenco_components.png deleted file mode 100644 index bebf3cb4..00000000 Binary files a/web/project-website/content/mission/flamenco_components.png and /dev/null differ diff --git a/web/project-website/content/third-party-jobs/_index.md b/web/project-website/content/third-party-jobs/_index.md index d519f4fe..6fc4cbff 100644 --- a/web/project-website/content/third-party-jobs/_index.md +++ b/web/project-website/content/third-party-jobs/_index.md @@ -2,3 +2,20 @@ title: Third-Party Jobs weight: 30 --- + +This section contains third-party job types for Flamenco. These have been +submitted by the community. If you wish to contribute, consider joining the +[Blender Chat channel][flamencochannel] and chime-in there. + +## How can I create my own Job Type? + +This is described [Job Types][jobtypes]. It is recommended to use the +[built-in scripts][built-in-scripts] as examples and adjust them from there. + +## Third-Party Job Types + +{{< flamenco/toc-children >}} + +[jobtypes]: {{< ref "usage/job-types" >}} +[built-in-scripts]: https://projects.blender.org/studio/flamenco/src/branch/main/internal/manager/job_compilers/scripts +[flamencochannel]: https://blender.chat/channel/flamenco diff --git a/web/project-website/content/third-party-jobs/available-jobs.md b/web/project-website/content/third-party-jobs/available-jobs.md deleted file mode 100644 index 63f6dab1..00000000 --- a/web/project-website/content/third-party-jobs/available-jobs.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: Available Third-Party Jobs -weight: 1 ---- - -This section contains third-party job types for Flamenco. These have been -submitted by the community. If you wish to contribute, consider joining the -[Blender Chat channel][flamencochannel] and chime-in there. - -## How can I create my own Job Type? - -This is described [Job Types][jobtypes]. It is recommended to use the -[built-in scripts][built-in-scripts] as examples and adjust them from there. - -## Third-Party Job Types - -{{< flamenco/toc-children >}} - -[jobtypes]: {{< ref "usage/job-types" >}} -[built-in-scripts]: https://projects.blender.org/studio/flamenco/src/branch/main/internal/manager/job_compilers/scripts -[flamencochannel]: https://blender.chat/channel/flamenco diff --git a/web/project-website/content/usage/quickstart/_index.md b/web/project-website/content/usage/quickstart/_index.md index 7b0c28e9..953e1b3f 100644 --- a/web/project-website/content/usage/quickstart/_index.md +++ b/web/project-website/content/usage/quickstart/_index.md @@ -3,6 +3,17 @@ title: Quickstart weight: 0 --- +What you need to run Flamenco is: + +- One or more computers to do the work, i.e. running **Flamenco Worker**. You'll + probably also want to install [Blender][blender] there. +- A computer to run the central software, **Flamenco Manager**. This could be + one of the above computers, or a dedicated one. +- A local network with **file sharing** already set up, so that the above + computers can all reach the same set of files. + +[blender]: https://www.blender.org/ + In broad terms, to render with Flamenco, follow these steps: 1. [Download Flamenco][download]. diff --git a/web/project-website/content/what-is-new/_index.md b/web/project-website/content/what-is-new/_index.md deleted file mode 100644 index b9358346..00000000 --- a/web/project-website/content/what-is-new/_index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: What is New in Flamenco 3 -weight: 5 ---- - -Flamenco was pretty much rebuilt from scratch between versions 2 and 3. One of -the major goals of Flamenco 3 is to simplify the installation & use. - -Compared to version 2, Flamenco 3: - -- no longer requires an online component; Flamenco Server has been removed. -- no longer requires you to install & configure a database. -- works 100% on your own infrastructure. -- just has two executables for you to run (Manager and Worker). -- has its own dedicated Blender add-on, which can be downloaded directly from Flamenco Manager. -- supports [custom job types][custom-jobs] written in JavaScript. -- comes bundled with FFmpeg; you only need to install Blender. - -[custom-jobs]: {{< ref "usage/job-types" >}} - -{{< button size="large" relref="usage/quickstart/" >}}Quickstart{{< /button >}} - -## Flamenco 3 Change Log - -The more interesting changes between Flamenco 3 versions are listed in the [changelog][changelog]. - -[changelog]: https://projects.blender.org/studio/flamenco/src/branch/main/CHANGELOG.md diff --git a/web/project-website/data/menu/extra.yaml b/web/project-website/data/menu/extra.yaml index a432ab8e..d008b07e 100644 --- a/web/project-website/data/menu/extra.yaml +++ b/web/project-website/data/menu/extra.yaml @@ -1,9 +1,12 @@ --- header: + - name: About + ref: /about + external: false - name: Download ref: /download external: false - - name: Quickstart + - name: Documentation ref: /usage/quickstart external: false - name: FAQ diff --git a/web/project-website/static/custom.css b/web/project-website/static/custom.css index e8bdf4c1..8447988a 100644 --- a/web/project-website/static/custom.css +++ b/web/project-website/static/custom.css @@ -128,6 +128,14 @@ body { font-family: var(--font-family); } +h3 { + padding-top: 1rem; + margin-bottom: 0.5rem; +} + +.container { + max-width: 70rem; +} .gdoc-header { border-bottom: none; @@ -168,4 +176,5 @@ body { article p { line-height: 28px; + margin-top: 0; }