diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
new file mode 100644
index 0000000..d70aa68
--- /dev/null
+++ b/.github/CODEOWNERS
@@ -0,0 +1 @@
+* @ff4j/ff4j-docs-champions
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000..744db36
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,11 @@
+# Description
+
+
+
+Closes :
+
+# Checklist:
+
+- [ ] I have performed a self-review of my documentation changes
+- [ ] I have checked the preview site of PR and confirm the changes
+- [ ] My commits follow [conventional commit message guidelines](https://www.conventionalcommits.org/en/v1.0.0/)
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000..662cbea
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,22 @@
+version: 2
+updates:
+ - package-ecosystem: uv
+ schedule:
+ interval: daily
+ time: "23:30"
+ open-pull-requests-limit: 10
+ commit-message:
+ prefix: "build: "
+ labels:
+ - dependencies
+ - automated
+ - package-ecosystem: github-actions
+ directory: "/.github/"
+ schedule:
+ interval: weekly
+ open-pull-requests-limit: 5
+ commit-message:
+ prefix: "ci: "
+ labels:
+ - ci
+ - automated
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
deleted file mode 100644
index 21ebf09..0000000
--- a/.github/workflows/main.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-name: Build and deploy mkdocs to github pages
-on:
- push:
- branches:
- - main
-jobs:
- deploy:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- with:
- submodules: "recursive"
- fetch-depth: 0
- - name: Setup Python
- uses: actions/setup-python@v1
- with:
- python-version: "3.7"
- architecture: "x64"
- - name: Install dependencies
- run: |
- python3 -m pip install --upgrade pip # install pip
- python3 -m pip install mkdocs # install mkdocs
- python3 -m pip install mkdocs-material # install material theme
- python3 -m pip install mkdocs-video # install video
- python3 -m pip install https://github.com/bmcorser/fontawesome-markdown/archive/master.zip
- python3 -m pip install mkdocs-git-revision-date-plugin # install git revision date
- - name: Build site
- run: mkdocs build
- - name: Deploy
- uses: peaceiris/actions-gh-pages@v3
- with:
- github_token: ${{ secrets.TOKEN }}
- publish_dir: ./site
diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml
new file mode 100644
index 0000000..ff8a46c
--- /dev/null
+++ b/.github/workflows/pages.yml
@@ -0,0 +1,99 @@
+name: PR Preview & GitHub Pages Publish
+on:
+ pull_request:
+ types: [opened, synchronize, reopened, closed]
+ push:
+ branches:
+ - main
+permissions:
+ contents: write # gh-pages + cleanup
+ pull-requests: write # PR comments
+ pages: write # deploy-pages
+ id-token: write # required by deploy-pages
+jobs:
+ build:
+ if: github.event.action != 'closed'
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v6
+
+ - name: "Set up Python"
+ uses: actions/setup-python@v6
+ with:
+ python-version-file: "pyproject.toml"
+
+ - name: Install uv
+ uses: astral-sh/setup-uv@v7
+
+ - name: Sync dependencies
+ run: uv sync
+
+ - name: Build site
+ run: uv run zensical build --clean
+
+ - name: Deploy PR preview
+ if: github.event_name == 'pull_request'
+ uses: peaceiris/actions-gh-pages@v4
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ publish_dir: site
+ destination_dir: pr-${{ github.event.pull_request.number }}
+
+ - name: Comment PR with preview URL
+ if: github.event_name == 'pull_request'
+ uses: actions/github-script@v7
+ with:
+ script: |
+ const pr = context.payload.pull_request.number;
+ const { owner, repo } = context.repo;
+
+ const url = `https://ff4j.github.io/docs/pr-${pr}/`;
+
+ await github.rest.issues.createComment({
+ owner,
+ repo,
+ issue_number: pr,
+ body: `📘 **Site preview available**:\n\n${url}`
+ });
+
+ - name: Upload Pages artifact
+ if: github.event_name == 'push'
+ uses: actions/upload-pages-artifact@v3
+ with:
+ path: site
+
+ publish:
+ if: github.event_name == 'push'
+ runs-on: ubuntu-latest
+ needs: build
+ environment:
+ name: github-pages
+ url: https://paulwilliams.dev
+ steps:
+ - name: Deploy to GitHub Pages
+ uses: actions/deploy-pages@v4
+
+ cleanup:
+ if: github.event_name == 'pull_request' &&
+ github.event.action == 'closed' &&
+ github.event.pull_request.merged == false
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout gh-pages branch
+ uses: actions/checkout@v4
+ with:
+ ref: gh-pages
+
+ - name: Remove PR preview folder
+ run: |
+ rm -rf pr-${{ github.event.pull_request.number }}
+
+ - name: Commit cleanup
+ run: |
+ git config user.name "github-actions"
+ git config user.email "github-actions@github.com"
+ git commit -am "chore: remove preview for PR #${{ github.event.pull_request.number }}" || exit 0
+ git push
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index aa9fc8e..5b56267 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,19 @@
-# IntelliJ files
-.idea
-
-# Virtual environment files
-venv
+# VSCode
+.vscode/
+*.code-workspace
+
+# IntelliJ
+.idea/
+*.iml
+
+# MacOS
+.DS_Store
+
+# UV
+.venv/
+__pycache__/
+*.pyc
+.cache/
+
+# mkdocs
+/site/
diff --git a/.python-version b/.python-version
new file mode 100644
index 0000000..c47b345
--- /dev/null
+++ b/.python-version
@@ -0,0 +1 @@
+3.14.2
\ No newline at end of file
diff --git a/README.md b/README.md
index 68ccb4f..55a3664 100644
--- a/README.md
+++ b/README.md
@@ -1,59 +1,18 @@
# FF4j Documentation
- [](https://awesome.re)
+This is the documentation of FF4j, a Java library to manage feature toggles in your application.
-Static site is generated on branch `gh-pages` using a github actions.
+## Prerequisites
-## Run the website locally
+- [zensical](https://zensical.org/docs/get-started/)
-### 1. Installation
+## Run locally
-```bash
-python3 -m pip install --upgrade pip # install pip
-python3 -m pip install mkdocs # install mkdocs
-python3 -m pip install mkdocs-material # install material theme
-#python3 -m pip install https://github.com/bmcorser/fontawesome-markdown/archive/master.zip # install font-awesome
-python3 -m pip install mkdocs-git-revision-date-plugin # install git revision date
-python3 -m pip install mkdocs-video # install git revision date
+```shell
+sh ./serve.sh
```
-Or use this one-liner :)
+## Contributing
-```
-python3 -m pip install --upgrade pip && python3 -m pip install mkdocs mkdocs-material https://github.com/bmcorser/fontawesome-markdown/archive/master.zip mkdocs-git-revision-date-plugin
-```
-
-### 2. Run
-
-```
-mkdocs serve
-```
-
-You should be able to access it on http://localhost:8000
-
-**Known Issue:**
-
-If you get an `mkdocs not found error`, launch it this way:
-
-```
-python3 -m mkdocs serve
-```
-
-### 3. Instructions
-
-#### Images
-
-**Caution**: when running locally, the site is served at `http://127.0.0.1:8000/pages/[...]`
-while when deployed, it is at `https://ff4j.github.io/docs/pages/[...]`.
-
-This means that if you use "absolute" image URLs such as `/img/ETC ETC` one will work
-and the other won't. Unfortunately you have to always use relative paths and climb up
-the ladder with `../../../../img/ETC ETC` !
-
-In other words, **if you use `"/img/tile-java.png"` it will render OK locally and
-then screw up once deployed**.
-
-Also, when calculating the number of `..` to insert, count ONE LESS for `index.md` files as opposed to all other `md` files:
-`index.md` renders as the page for the path containing it (`a/b/c/index.md` renders the URL `a/b/c`).
-
-For company logo files, SVG format is preferred to PNG.
+If you want to contribute to the documentation, please fork the repository and create a pull request
+with your changes. We will review your changes and merge them if they are appropriate.
\ No newline at end of file
diff --git a/docs/cheat.md b/docs/cheat.md
deleted file mode 100644
index 6cce828..0000000
--- a/docs/cheat.md
+++ /dev/null
@@ -1,442 +0,0 @@
-
-
-## Executable Code (REPLIT)
-
-Change values `ASTRA_DB_TOKEN`, `ASTRA_DB_ID`, `ASTRA_DB_REGION`, `ASTRA_DB_KEYSPACE` in the code below and execute with
-
-[](https://replit.com/@CLU2/ConnectToAstra.zip)
-
-
-
-## Mermaids
-
-### 1️⃣ Flow
-
-**Cassandra**
-
-=== "Graph"
-
- ```mermaid
- graph LR
- user>fa:fa-user Developer]-- Create Database --> cassandra[(fa:fa-database Cassandra)]
-
- user-- Design -->usecase{{fa:fa-cube Use Case}}
- usecase-- Workflow -->queries[fa:fa-bezier-curve queries]
- usecase-- MCD -->entities[fa:fa-grip-vertical entities]
- queries-- Chebotko modelization -->schema[fa:fa-list schema]
- entities-- Chebotko modelization -->schema[fa:fa-list schema]
- schema[fa:fa-list schema]-- Inject -->cassandra[(fa:fa-database Cassandra)]
-
- user-- prepare -->dataset{{fa:fa-coings DataSet}}
- dataset-- input -->dsbulk-- load data -->cassandra
-
- user-- Create Token -->token{{fa:fa-key Token}}
- usecase-->API
-
- API-->Request
- token-->Request
- schema-->Request
- Request-- invoke -->cassandra
- ```
-
-=== "Code"
-
- ```bash
- graph LR
- user>fa:fa-user Developer]-- Create Database --> cassandra[(fa:fa-database Cassandra)]
-
- user-- Design -->usecase{{fa:fa-cube Use Case}}
- usecase-- Workflow -->queries[fa:fa-bezier-curve queries]
- usecase-- MCD -->entities[fa:fa-grip-vertical entities]
- queries-- Chebotko modelization -->schema[fa:fa-list schema]
- entities-- Chebotko modelization -->schema[fa:fa-list schema]
- schema[fa:fa-list schema]-- Inject -->cassandra[(fa:fa-database Cassandra)]
-
- user-- prepare -->dataset{{fa:fa-coings DataSet}}
- dataset-- input -->dsbulk-- load data -->cassandra
-
- user-- Create Token -->token{{fa:fa-key Token}}
- usecase-->API
-
- API-->Request
- token-->Request
- schema-->Request
- Request-- invoke -->cassandra
- ```
-
-**Example #1**
-
-=== "Output"
-
- ```mermaid
- graph TD;
- A-->B;
- A-->C;
- B-->D;
- C-->D;
- ```
-
-=== "Markdown"
-
- ```
- ```mermaid
- graph TD;
- A-->B;
- A-->C;
- B-->D;
- C-->D;
- ```
- ```
-
-**Example3**
-
-=== "Output"
-
- ```mermaid
- graph TD
- A[Hard] -->|Text| B(Round)
- B --> C{Decision}
- C -->|One| D[Result 1]
- C -->|Two| E[Result 2]
- ```
-
-=== "Markdown"
-
- ```
- ```mermaid
- graph TD
- A[Hard] -->|Text| B(Round)
- B --> C{Decision}
- C -->|One| D[Result 1]
- C -->|Two| E[Result 2]
- ```
- ```
-
-### 2️⃣ Sequence
-
-=== "Output"
-
- ```mermaid
- sequenceDiagram
- Alice->>John: Hello John, how are you?
- loop Healthcheck
- John->>John: Fight against hypochondria
- end
- Note right of John: Rational thoughts!
- John-->>Alice: Great!
- John->>Bob: How about you?
- Bob-->>John: Jolly good!
- ```
-
-=== "Markdown"
-
- ```
- ```mermaid
- sequenceDiagram
- Alice->>John: Hello John, how are you?
- loop Healthcheck
- John->>John: Fight against hypochondria
- end
- Note right of John: Rational thoughts!
- John-->>Alice: Great!
- John->>Bob: How about you?
- Bob-->>John: Jolly good!
-
- ```
- ```
-
-### 3️⃣ Gantt
-
-=== "Output"
-
- ```mermaid
- gantt
- section Section
- Completed :done, des1, 2014-01-06,2014-01-08
- Active :active, des2, 2014-01-07, 3d
- Parallel 1 : des3, after des1, 1d
- Parallel 2 : des4, after des1, 1d
- Parallel 3 : des5, after des3, 1d
- Parallel 4 : des6, after des4, 1d
- ```
-
-=== "Markdown"
-
- ```
- ```mermaid
- gantt
- section Section
- Completed :done, des1, 2014-01-06,2014-01-08
- Active :active, des2, 2014-01-07, 3d
- Parallel 1 : des3, after des1, 1d
- Parallel 2 : des4, after des1, 1d
- Parallel 3 : des5, after des3, 1d
- Parallel 4 : des6, after des4, 1d
-
- ```
- ```
-
-### 4️⃣ Class
-
-=== "Output"
-
- ```mermaid
- classDiagram
- Class01 <|-- AveryLongClass : Cool
- <> Class01
- Class09 --> C2 : Where am i?
- Class09 --* C3
- Class09 --|> Class07
- Class07 : equals()
- Class07 : Object[] elementData
- Class01 : size()
- Class01 : int chimp
- Class01 : int gorilla
- class Class10 {
- <>
- int id
- size()
- }
- ```
-
-=== "Markdown"
-
- ```
- ```mermaid
- classDiagram
- Class01 <|-- AveryLongClass : Cool
- <> Class01
- Class09 --> C2 : Where am i?
- Class09 --* C3
- Class09 --|> Class07
- Class07 : equals()
- Class07 : Object[] elementData
- Class01 : size()
- Class01 : int chimp
- Class01 : int gorilla
- class Class10 {
- <>
- int id
- size()
- }
-
- ```
- ```
-
-### 5️⃣ State
-
-=== "Output"
-
- ```mermaid
- stateDiagram-v2
- [*] --> Still
- Still --> [*]
- Still --> Moving
- Moving --> Still
- Moving --> Crash
- Crash --> [*]
- ```
-
-=== "Markdown"
-
- ```
- ```mermaid
- stateDiagram-v2
- [*] --> Still
- Still --> [*]
- Still --> Moving
- Moving --> Still
- Moving --> Crash
- Crash --> [*]
-
- ```
- ```
-
-### 6️⃣ Pie
-
-=== "Output"
-
- ```mermaid
- pie
- "Dogs" : 386
- "Cats" : 85
- "Rats" : 15
- ```
-
-=== "Markdown"
-
- ```
- ```mermaid
- pie
- "Dogs" : 386
- "Cats" : 85
- "Rats" : 15
-
- ```
- ```
-
-### 7️⃣ Journey
-
-=== "Output"
-
- ```mermaid
- journey
- title My working day
- section Go to work
- Make tea: 5: Me
- Go upstairs: 3: Me
- Do work: 1: Me, Cat
- section Go home
- Go downstairs: 5: Me
- Sit down: 3: Me
- ```
-
-=== "Markdown"
-
- ```
- ```mermaid
- journey
- title My working day
- section Go to work
- Make tea: 5: Me
- Go upstairs: 3: Me
- Do work: 1: Me, Cat
- section Go home
- Go downstairs: 5: Me
- Sit down: 3: Me
-
- ```
- ```
-
-### 8️⃣ ER
-
-=== "Output"
-
- ```mermaid
- erDiagram
- CUSTOMER ||--o{ ORDER : places
- ORDER ||--|{ LINE-ITEM : contains
- CUSTOMER }|..|{ DELIVERY-ADDRESS : uses
- ```
-
-=== "Markdown"
-
- ```
- ```mermaid
- erDiagram
- CUSTOMER ||--o{ ORDER : places
- ORDER ||--|{ LINE-ITEM : contains
- CUSTOMER }|..|{ DELIVERY-ADDRESS : uses
- ```
- ```
-
-## Sample Blocs
-
-!!! note "THis is a note"
-
- my note
-
-!!! abstract "abstract"
-
- my note
-
-!!! info "info"
-
- info
-
-???+ tip "Sample tip "
-
- tip
-
-??? question "How to add plugins to the Docker image?"
-
- Import Stuff
-
-!!! success "Success"
-
- my note
-
-!!! warning "Sample warning"
-
- This is so cool.
-
-!!! failure "failure"
-
- my note
-
-!!! danger "danger"
-
- danger
-
-!!! bug "bug"
-
- bug
-
-??? example "Sample example"
-
- example
-
-!!! warning "Sample warning"
-
- warning
-
-??? quote "Sample wuote"
-
- quote
-
-## Tooltip
-
-```sh
-wanna a tooltip ? # (1)!
-```
-
-1. Cedrick rock
-
- ```
- mkdocs serve
- ```
-
-## Icons
-
-### Material
-
-:material-home:
-
-[HERE is the full list](https://fonts.google.com/icons)
-
-### Font Awesome
-
-HTML
-
-
= fa-camera-retro
-
-MARKDOWN
-:fontawesome-brands-git-alt:
-
-[HERE is the full list](https://fontawesome.com/v5/cheatsheet)
-
-### Opticons
-
-:octicons-tag-24: Sample
-
-### Adding buttons
-
-In order to render a link as a button, suffix it with curly braces and add the
-`.md-button` class selector to it. The button will receive the selected
-[primary color] and [accent color] if active.
-
-```markdown title="Button"
-[Subscribe to our newsletter](#){ .md-button }
-```
-
-
-
-[Subscribe to our newsletter][demo]{ .md-button }
-
-
-
-
-
-[Subscribe to our newsletter][demo]{ .md-button .md-button--primary }
-
-
diff --git a/docs/home/img/canaryrelease.svg b/docs/home/img/canaryrelease.svg
new file mode 100644
index 0000000..d85253e
--- /dev/null
+++ b/docs/home/img/canaryrelease.svg
@@ -0,0 +1,186 @@
+
diff --git a/docs/img/home/feature_09_cli.png b/docs/home/img/cli.png
similarity index 100%
rename from docs/img/home/feature_09_cli.png
rename to docs/home/img/cli.png
diff --git a/docs/img/home/console-restapi.png b/docs/home/img/console-restapi.png
similarity index 100%
rename from docs/img/home/console-restapi.png
rename to docs/home/img/console-restapi.png
diff --git a/docs/home/img/featuretoggle.svg b/docs/home/img/featuretoggle.svg
new file mode 100644
index 0000000..b2ee6de
--- /dev/null
+++ b/docs/home/img/featuretoggle.svg
@@ -0,0 +1,153 @@
+
diff --git a/docs/home/img/strategy.svg b/docs/home/img/strategy.svg
new file mode 100644
index 0000000..ee68e13
--- /dev/null
+++ b/docs/home/img/strategy.svg
@@ -0,0 +1,204 @@
+
diff --git a/docs/home/img/upcoming.svg b/docs/home/img/upcoming.svg
new file mode 100644
index 0000000..c3387cc
--- /dev/null
+++ b/docs/home/img/upcoming.svg
@@ -0,0 +1,43 @@
+
diff --git a/docs/home/img/webconsole.png b/docs/home/img/webconsole.png
new file mode 100644
index 0000000..1bada03
Binary files /dev/null and b/docs/home/img/webconsole.png differ
diff --git a/docs/img/db/db-arangodb.png b/docs/img/db/db-arangodb.png
deleted file mode 100644
index a8b8775..0000000
Binary files a/docs/img/db/db-arangodb.png and /dev/null differ
diff --git a/docs/img/db/db-archaius.png b/docs/img/db/db-archaius.png
deleted file mode 100644
index 884bbbb..0000000
Binary files a/docs/img/db/db-archaius.png and /dev/null differ
diff --git a/docs/img/db/db-aws-ssm.png b/docs/img/db/db-aws-ssm.png
deleted file mode 100644
index 4ce5f81..0000000
Binary files a/docs/img/db/db-aws-ssm.png and /dev/null differ
diff --git a/docs/img/db/db-cassandra.png b/docs/img/db/db-cassandra.png
deleted file mode 100644
index 2b85a66..0000000
Binary files a/docs/img/db/db-cassandra.png and /dev/null differ
diff --git a/docs/img/db/db-commonsconfig.png b/docs/img/db/db-commonsconfig.png
deleted file mode 100644
index 0d135d2..0000000
Binary files a/docs/img/db/db-commonsconfig.png and /dev/null differ
diff --git a/docs/img/db/db-consul.png b/docs/img/db/db-consul.png
deleted file mode 100644
index c6d2c57..0000000
Binary files a/docs/img/db/db-consul.png and /dev/null differ
diff --git a/docs/img/db/db-couchbase.png b/docs/img/db/db-couchbase.png
deleted file mode 100644
index 9502aa6..0000000
Binary files a/docs/img/db/db-couchbase.png and /dev/null differ
diff --git a/docs/img/db/db-couchdb.png b/docs/img/db/db-couchdb.png
deleted file mode 100644
index 6d817aa..0000000
Binary files a/docs/img/db/db-couchdb.png and /dev/null differ
diff --git a/docs/img/db/db-dynamodb.png b/docs/img/db/db-dynamodb.png
deleted file mode 100644
index c35d6cb..0000000
Binary files a/docs/img/db/db-dynamodb.png and /dev/null differ
diff --git a/docs/img/db/db-ehcache.png b/docs/img/db/db-ehcache.png
deleted file mode 100644
index 2bb6c78..0000000
Binary files a/docs/img/db/db-ehcache.png and /dev/null differ
diff --git a/docs/img/db/db-elastic.png b/docs/img/db/db-elastic.png
deleted file mode 100644
index 1bbe9ae..0000000
Binary files a/docs/img/db/db-elastic.png and /dev/null differ
diff --git a/docs/img/db/db-eureka.png b/docs/img/db/db-eureka.png
deleted file mode 100644
index 884bbbb..0000000
Binary files a/docs/img/db/db-eureka.png and /dev/null differ
diff --git a/docs/img/db/db-eventstorearangodb.png b/docs/img/db/db-eventstorearangodb.png
deleted file mode 100644
index a8b8775..0000000
Binary files a/docs/img/db/db-eventstorearangodb.png and /dev/null differ
diff --git a/docs/img/db/db-hazelcast.png b/docs/img/db/db-hazelcast.png
deleted file mode 100644
index d202077..0000000
Binary files a/docs/img/db/db-hazelcast.png and /dev/null differ
diff --git a/docs/img/db/db-hbase.png b/docs/img/db/db-hbase.png
deleted file mode 100644
index 3869f30..0000000
Binary files a/docs/img/db/db-hbase.png and /dev/null differ
diff --git a/docs/img/db/db-ignite.png b/docs/img/db/db-ignite.png
deleted file mode 100644
index a376081..0000000
Binary files a/docs/img/db/db-ignite.png and /dev/null differ
diff --git a/docs/img/db/db-inmemory.png b/docs/img/db/db-inmemory.png
deleted file mode 100644
index 542f8f9..0000000
Binary files a/docs/img/db/db-inmemory.png and /dev/null differ
diff --git a/docs/img/db/db-jdbc.png b/docs/img/db/db-jdbc.png
deleted file mode 100644
index 542f8f9..0000000
Binary files a/docs/img/db/db-jdbc.png and /dev/null differ
diff --git a/docs/img/db/db-jhipster.png b/docs/img/db/db-jhipster.png
deleted file mode 100644
index 81d43c6..0000000
Binary files a/docs/img/db/db-jhipster.png and /dev/null differ
diff --git a/docs/img/db/db-maria.png b/docs/img/db/db-maria.png
deleted file mode 100644
index c9ef976..0000000
Binary files a/docs/img/db/db-maria.png and /dev/null differ
diff --git a/docs/img/db/db-mongo.png b/docs/img/db/db-mongo.png
deleted file mode 100644
index 653e280..0000000
Binary files a/docs/img/db/db-mongo.png and /dev/null differ
diff --git a/docs/img/db/db-neo4j.png b/docs/img/db/db-neo4j.png
deleted file mode 100644
index 3cc5f7e..0000000
Binary files a/docs/img/db/db-neo4j.png and /dev/null differ
diff --git a/docs/img/db/db-oracle.png b/docs/img/db/db-oracle.png
deleted file mode 100644
index 430213a..0000000
Binary files a/docs/img/db/db-oracle.png and /dev/null differ
diff --git a/docs/img/db/db-postgres.png b/docs/img/db/db-postgres.png
deleted file mode 100644
index 1223df9..0000000
Binary files a/docs/img/db/db-postgres.png and /dev/null differ
diff --git a/docs/img/db/db-redis.png b/docs/img/db/db-redis.png
deleted file mode 100644
index b313994..0000000
Binary files a/docs/img/db/db-redis.png and /dev/null differ
diff --git a/docs/img/db/db-redislettuce.png b/docs/img/db/db-redislettuce.png
deleted file mode 100644
index b313994..0000000
Binary files a/docs/img/db/db-redislettuce.png and /dev/null differ
diff --git a/docs/img/db/db-springboot.png b/docs/img/db/db-springboot.png
deleted file mode 100644
index cc0df85..0000000
Binary files a/docs/img/db/db-springboot.png and /dev/null differ
diff --git a/docs/img/db/db-springjdbc.png b/docs/img/db/db-springjdbc.png
deleted file mode 100644
index 82987e2..0000000
Binary files a/docs/img/db/db-springjdbc.png and /dev/null differ
diff --git a/docs/img/db/db-sqlserver.png b/docs/img/db/db-sqlserver.png
deleted file mode 100644
index e879862..0000000
Binary files a/docs/img/db/db-sqlserver.png and /dev/null differ
diff --git a/docs/img/db/db-terracotta.png b/docs/img/db/db-terracotta.png
deleted file mode 100644
index 0de4a97..0000000
Binary files a/docs/img/db/db-terracotta.png and /dev/null differ
diff --git a/docs/img/demo/demo-01.png b/docs/img/demo/demo-01.png
deleted file mode 100644
index 5eaa702..0000000
Binary files a/docs/img/demo/demo-01.png and /dev/null differ
diff --git a/docs/img/demo/demo-02.png b/docs/img/demo/demo-02.png
deleted file mode 100644
index 1b7bb18..0000000
Binary files a/docs/img/demo/demo-02.png and /dev/null differ
diff --git a/docs/img/demo/demo-03.png b/docs/img/demo/demo-03.png
deleted file mode 100644
index fb16fc3..0000000
Binary files a/docs/img/demo/demo-03.png and /dev/null differ
diff --git a/docs/img/demo/demo-04.png b/docs/img/demo/demo-04.png
deleted file mode 100644
index 0730f0a..0000000
Binary files a/docs/img/demo/demo-04.png and /dev/null differ
diff --git a/docs/img/demo/demo-05.png b/docs/img/demo/demo-05.png
deleted file mode 100644
index dc68c37..0000000
Binary files a/docs/img/demo/demo-05.png and /dev/null differ
diff --git a/docs/img/demo/demo-06.png b/docs/img/demo/demo-06.png
deleted file mode 100644
index e861608..0000000
Binary files a/docs/img/demo/demo-06.png and /dev/null differ
diff --git a/docs/img/demo/demo-07.png b/docs/img/demo/demo-07.png
deleted file mode 100644
index 550d8cc..0000000
Binary files a/docs/img/demo/demo-07.png and /dev/null differ
diff --git a/docs/img/demo/demo-08.png b/docs/img/demo/demo-08.png
deleted file mode 100644
index 5265765..0000000
Binary files a/docs/img/demo/demo-08.png and /dev/null differ
diff --git a/docs/img/favicon.ico b/docs/img/favicon.ico
deleted file mode 100644
index 023cbab..0000000
Binary files a/docs/img/favicon.ico and /dev/null differ
diff --git a/docs/img/favicon.svg b/docs/img/favicon.svg
deleted file mode 100644
index 023cbab..0000000
Binary files a/docs/img/favicon.svg and /dev/null differ
diff --git a/docs/img/ff4j-logo.png b/docs/img/ff4j-logo.png
deleted file mode 100644
index 023cbab..0000000
Binary files a/docs/img/ff4j-logo.png and /dev/null differ
diff --git a/docs/img/ff4j-logo.svg b/docs/img/ff4j-logo.svg
new file mode 100644
index 0000000..c20ebce
--- /dev/null
+++ b/docs/img/ff4j-logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/docs/img/fig-01-feature.png b/docs/img/fig-01-feature.png
deleted file mode 100644
index 094f52e..0000000
Binary files a/docs/img/fig-01-feature.png and /dev/null differ
diff --git a/docs/img/fig-02-feature.png b/docs/img/fig-02-feature.png
deleted file mode 100644
index a3dcb9d..0000000
Binary files a/docs/img/fig-02-feature.png and /dev/null differ
diff --git a/docs/img/home/feature_01_featuretoggle.png b/docs/img/home/feature_01_featuretoggle.png
deleted file mode 100644
index 119937c..0000000
Binary files a/docs/img/home/feature_01_featuretoggle.png and /dev/null differ
diff --git a/docs/img/home/feature_02_permissions.png b/docs/img/home/feature_02_permissions.png
deleted file mode 100644
index be74e69..0000000
Binary files a/docs/img/home/feature_02_permissions.png and /dev/null differ
diff --git a/docs/img/home/feature_03_strategy.png b/docs/img/home/feature_03_strategy.png
deleted file mode 100644
index 451de3d..0000000
Binary files a/docs/img/home/feature_03_strategy.png and /dev/null differ
diff --git a/docs/img/home/feature_04_aop.png b/docs/img/home/feature_04_aop.png
deleted file mode 100644
index d854b9e..0000000
Binary files a/docs/img/home/feature_04_aop.png and /dev/null differ
diff --git a/docs/img/home/feature_05_audit_mini.png b/docs/img/home/feature_05_audit_mini.png
deleted file mode 100644
index 62e6e00..0000000
Binary files a/docs/img/home/feature_05_audit_mini.png and /dev/null differ
diff --git a/docs/img/home/feature_06_monitoring.png b/docs/img/home/feature_06_monitoring.png
deleted file mode 100644
index 43135bf..0000000
Binary files a/docs/img/home/feature_06_monitoring.png and /dev/null differ
diff --git a/docs/img/home/feature_07_webconsole.png b/docs/img/home/feature_07_webconsole.png
deleted file mode 100644
index a187cdf..0000000
Binary files a/docs/img/home/feature_07_webconsole.png and /dev/null differ
diff --git a/docs/img/home/feature_08_technos.png b/docs/img/home/feature_08_technos.png
deleted file mode 100644
index 92a3210..0000000
Binary files a/docs/img/home/feature_08_technos.png and /dev/null differ
diff --git a/docs/img/home/feature_10_jmx.png b/docs/img/home/feature_10_jmx.png
deleted file mode 100644
index ff2af22..0000000
Binary files a/docs/img/home/feature_10_jmx.png and /dev/null differ
diff --git a/docs/img/home/feature_11_properties.png b/docs/img/home/feature_11_properties.png
deleted file mode 100644
index 3526276..0000000
Binary files a/docs/img/home/feature_11_properties.png and /dev/null differ
diff --git a/docs/img/home/feature_12_caching.png b/docs/img/home/feature_12_caching.png
deleted file mode 100644
index 3836681..0000000
Binary files a/docs/img/home/feature_12_caching.png and /dev/null differ
diff --git a/docs/img/home/gallery.png b/docs/img/home/gallery.png
deleted file mode 100644
index f89a963..0000000
Binary files a/docs/img/home/gallery.png and /dev/null differ
diff --git a/docs/img/home/spring-boot.png b/docs/img/home/spring-boot.png
deleted file mode 100644
index c8c94f4..0000000
Binary files a/docs/img/home/spring-boot.png and /dev/null differ
diff --git a/docs/img/secu/apacheshiro.png b/docs/img/secu/apacheshiro.png
deleted file mode 100644
index 1dd6924..0000000
Binary files a/docs/img/secu/apacheshiro.png and /dev/null differ
diff --git a/docs/img/secu/jhipster.png b/docs/img/secu/jhipster.png
deleted file mode 100644
index 81d43c6..0000000
Binary files a/docs/img/secu/jhipster.png and /dev/null differ
diff --git a/docs/img/secu/springsecurity.png b/docs/img/secu/springsecurity.png
deleted file mode 100644
index 4e7d2b9..0000000
Binary files a/docs/img/secu/springsecurity.png and /dev/null differ
diff --git a/docs/img/use-cases/usecase-abtesting.png b/docs/img/use-cases/usecase-abtesting.png
deleted file mode 100644
index 219fc3e..0000000
Binary files a/docs/img/use-cases/usecase-abtesting.png and /dev/null differ
diff --git a/docs/img/use-cases/usecase-bluegreen.png b/docs/img/use-cases/usecase-bluegreen.png
deleted file mode 100644
index 2eb0931..0000000
Binary files a/docs/img/use-cases/usecase-bluegreen.png and /dev/null differ
diff --git a/docs/img/use-cases/usecase-businesstoggle.png b/docs/img/use-cases/usecase-businesstoggle.png
deleted file mode 100644
index 4ce53bc..0000000
Binary files a/docs/img/use-cases/usecase-businesstoggle.png and /dev/null differ
diff --git a/docs/img/use-cases/usecase-canary.png b/docs/img/use-cases/usecase-canary.png
deleted file mode 100644
index 118e4ef..0000000
Binary files a/docs/img/use-cases/usecase-canary.png and /dev/null differ
diff --git a/docs/img/use-cases/usecase-circuitbreaker.png b/docs/img/use-cases/usecase-circuitbreaker.png
deleted file mode 100644
index 9d70bd1..0000000
Binary files a/docs/img/use-cases/usecase-circuitbreaker.png and /dev/null differ
diff --git a/docs/img/use-cases/usecase-darklaunch.png b/docs/img/use-cases/usecase-darklaunch.png
deleted file mode 100644
index 3c4bb79..0000000
Binary files a/docs/img/use-cases/usecase-darklaunch.png and /dev/null differ
diff --git a/docs/img/use-cases/usecase-featurebranching.png b/docs/img/use-cases/usecase-featurebranching.png
deleted file mode 100644
index 808d9a3..0000000
Binary files a/docs/img/use-cases/usecase-featurebranching.png and /dev/null differ
diff --git a/docs/img/use-cases/usecase-graceful.png b/docs/img/use-cases/usecase-graceful.png
deleted file mode 100644
index 1f75cfc..0000000
Binary files a/docs/img/use-cases/usecase-graceful.png and /dev/null differ
diff --git a/docs/img/use-cases/usecase-thinclient.png b/docs/img/use-cases/usecase-thinclient.png
deleted file mode 100644
index 3112a7a..0000000
Binary files a/docs/img/use-cases/usecase-thinclient.png and /dev/null differ
diff --git a/docs/img/vosTimbres.pdf b/docs/img/vosTimbres.pdf
deleted file mode 100644
index 4627d29..0000000
Binary files a/docs/img/vosTimbres.pdf and /dev/null differ
diff --git a/docs/index.md b/docs/index.md
index 2d3373a..a572d90 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,6 +1,3 @@
---
-title: FF4j Home Documentation
template: home.html
---
-
-Welcome to FF4j documentation
diff --git a/docs/overrides/home.html b/docs/overrides/home.html
index f37f3ca..67d0700 100644
--- a/docs/overrides/home.html
+++ b/docs/overrides/home.html
@@ -1,283 +1,101 @@
{% extends "main.html" %}
{% block tabs %}
{{ super() }}
-
-
-
-
-
Make feature management effortless by turning functionality
+ on or off at any time. Reduce risk, support gradual rollouts, and empower both business
+ and engineering teams to respond quickly to user feedback and changing needs.
Enable. and disable features at runtime - no deployments. In your code implement multiple paths protected by dynamic predicates (if/then/else).
-
-
+
+
+
+
+
Feature toggle
+
Enable and disable features at runtime - no deployments.
+
In your code implement multiple paths protected by dynamic predicates
+ (if/then/else).
+
+
+
+
+
-
-
Canary Releases
-
Enable features not only with flag values but also drive access with roles and groups (Canary Release). Different frameworks supported starting by Spring Security.
-
+
+
+
+
+
+
Canary releases
+
Enable features not only with flag values but also drive access with roles and groups.
+ Different
+ frameworks supported starting by spring security.
+
-
-
Custom Rules
-
Create custom predicates to evaluate if features are enabled. Some provided like White listing,Time-based, expression-based or connect systems like Drools.
-
+
+
+
Custom rules
+
Create custom predicates to evaluate if features are enabled or disabled. Some provided
+ like white
+ listing, time-based, expression-based or connect systems like drools.
+
+
+
+
-
-
-
-
-
Web Console
-
Administrate FF4j (including features and properties) with the web UI. Packaged as a servlet in the library you will expose it in your backend applications. Almost 10 languages available..
-
-
+
+
+
+
+
+
Web console
+
Administrate FF4j (including features and properties) with the web UI. Packaged as a
+ servlet in the
+ library you will expose it in your backend applications. Almost 10 languages
+ available.
+
-
-
Rest API
-
Operate FF4j through a WEB API. This is the way to go to use ff4j with others languages, specially javascript frontends.(also: leverage on FeatureStoreHttp to avoid microservices to directly connect to the DB.
-
+
+
+
RESTful API
+
Operate FF4j through a WEB API. This is the way to go to use ff4j with others languages,
+ specially
+ javascript frontends.(also: leverage on FeatureStoreHttp to avoid microservices to
+ directly connect
+ to the DB.
+
+
+
+
-
-
Command Line Interface
-
To automate things or because web ports may be blocked (you know, production...) you can work through SSH using our Command Line Interface (cli), our Shell #devOps. It will interact directly with storages..
-
+
+
+
+
+
+
Command-line interface
+
To automate things or because web ports may be blocked (you know, production...) you can
+ work through
+ SSH using our Command Line Interface (cli), our Shell #devOps. It will interact directly
+ with
+ storages.