Compare commits
16 commits
main
...
feature/ac
| Author | SHA1 | Date | |
|---|---|---|---|
|
7b586e2f36 |
|||
|
59c15ed67b |
|||
|
aed2618801 |
|||
|
b62f3f082b |
|||
|
18ce1080ef |
|||
|
a077dee713 |
|||
|
131dac6388 |
|||
|
e398ef8a2a |
|||
|
1fc3403cec |
|||
|
00c8a2b875 |
|||
|
8f8f2855e7 |
|||
|
d7916c2419 |
|||
|
8ae49a68b1 |
|||
|
6d6b164472 |
|||
|
fd88cd0b30 |
|||
|
80e15fded9 |
4
.env
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
LIVE_RELOAD_SUPPORT=true
|
||||||
|
ADD_MODULES=
|
||||||
|
DOCS_DIRECTORY=/app
|
||||||
|
FAST_MODE=false
|
||||||
19
.forgejo/workflows/build.yml
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
name: Build and release
|
||||||
|
on: [push]
|
||||||
|
jobs:
|
||||||
|
build_release:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: https://code.forgejo.org/actions/checkout@v3
|
||||||
|
- run: |
|
||||||
|
lsb_release -a
|
||||||
|
- run: |
|
||||||
|
pip install mkdocs-material
|
||||||
|
pip install mkdocs-table-reader-plugin
|
||||||
|
pip install mkdocs-git-revision-date-localized-plugin
|
||||||
|
pip install pillow cairosvg
|
||||||
|
pip install mkdocs-autolinks-plugin
|
||||||
|
pip install mkdocs-markdownextradata-plugin
|
||||||
|
pip install mkdocs_version_annotations
|
||||||
|
pip install mkdocs-enumerate-headings-plugin
|
||||||
|
pip install mkdocs-redirects
|
||||||
4
.gitignore
vendored
|
|
@ -1,3 +1 @@
|
||||||
/build
|
/.cache
|
||||||
/node_modules
|
|
||||||
/.docusaurus
|
|
||||||
|
|
|
||||||
|
|
@ -1,27 +1,28 @@
|
||||||
steps:
|
steps:
|
||||||
Build:
|
build:
|
||||||
image: node:20
|
image: gitnet.fr/deblan/mkdocs
|
||||||
pull: true
|
pull: true
|
||||||
commands:
|
commands:
|
||||||
- npm install --force
|
- sed -i 's/# site_url/site_url/' mkdocs.yml
|
||||||
- npm run build
|
- sed -i 's,<!-- ci_scripts -->,<script async defer data-website-id="d4104cec-6e3d-41df-bf72-74a9297def23" src="https://umami.deblan.org/umami.js"></script>,' overrides/main.html
|
||||||
|
- mkdocs build
|
||||||
|
- git checkout mkdocs.yml
|
||||||
|
- git checkout overrides/main.html
|
||||||
|
|
||||||
"Commit pages":
|
update:
|
||||||
image: alpine/git
|
image: alpine/git
|
||||||
commands:
|
commands:
|
||||||
- mv build /tmp/
|
|
||||||
- git config --global user.email ci@gitnet.fr
|
|
||||||
- git config --global user.name CI
|
|
||||||
- git add .
|
|
||||||
- git commit -m build -a
|
|
||||||
- git fetch --no-tags origin +refs/heads/pages
|
- git fetch --no-tags origin +refs/heads/pages
|
||||||
- git switch pages
|
- git switch pages
|
||||||
|
- git config --global user.email ci@gitnet.fr
|
||||||
|
- git config --global user.name CI
|
||||||
|
- mv site /tmp/
|
||||||
- rm * -fr
|
- rm * -fr
|
||||||
- mv /tmp/build/* .
|
- mv /tmp/site/* .
|
||||||
- git add .
|
- git add .
|
||||||
- git commit -m "Build ${CI_BUILD_NUMBER}"
|
- git commit -m "Build ${CI_BUILD_NUMBER}"
|
||||||
|
|
||||||
"Push pages":
|
deploy:
|
||||||
image: appleboy/drone-git-push
|
image: appleboy/drone-git-push
|
||||||
commands:
|
commands:
|
||||||
settings:
|
settings:
|
||||||
|
|
|
||||||
3
Makefile
|
|
@ -1,6 +1,3 @@
|
||||||
changelog:
|
|
||||||
./bin/changelog-generator -l debug -u https://gitnet.fr/deblan/side_menu/raw/branch/master/CHANGELOG.md > docs/changelog.md
|
|
||||||
|
|
||||||
serve:
|
serve:
|
||||||
docker run \
|
docker run \
|
||||||
-it --rm \
|
-it --rm \
|
||||||
|
|
|
||||||
41
README.md
|
|
@ -1,41 +0,0 @@
|
||||||
# Website
|
|
||||||
|
|
||||||
This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator.
|
|
||||||
|
|
||||||
### Installation
|
|
||||||
|
|
||||||
```
|
|
||||||
$ yarn
|
|
||||||
```
|
|
||||||
|
|
||||||
### Local Development
|
|
||||||
|
|
||||||
```
|
|
||||||
$ yarn start
|
|
||||||
```
|
|
||||||
|
|
||||||
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
|
|
||||||
|
|
||||||
### Build
|
|
||||||
|
|
||||||
```
|
|
||||||
$ yarn build
|
|
||||||
```
|
|
||||||
|
|
||||||
This command generates static content into the `build` directory and can be served using any static contents hosting service.
|
|
||||||
|
|
||||||
### Deployment
|
|
||||||
|
|
||||||
Using SSH:
|
|
||||||
|
|
||||||
```
|
|
||||||
$ USE_SSH=true yarn deploy
|
|
||||||
```
|
|
||||||
|
|
||||||
Not using SSH:
|
|
||||||
|
|
||||||
```
|
|
||||||
$ GIT_USER=<Your GitHub username> yarn deploy
|
|
||||||
```
|
|
||||||
|
|
||||||
If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
module.exports = {
|
|
||||||
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
|
|
||||||
};
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
printf "Usage: %s [-l DEBUG_LEVEL] [-h] [-f /path/to/CHANGELOG.md] [-u https://example.com/CHANGELOG.md]\n" "$0"
|
printf "Usage: %s [-l DEBUG_LEVEL] [-h] -f /path/to/CHANGELOG.md\n" "$0"
|
||||||
}
|
}
|
||||||
|
|
||||||
help() {
|
help() {
|
||||||
cat << EOH
|
cat << EOH
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
$0 [-l DEBUG_LEVEL] [-h] [-f /path/to/CHANGELOG.md] [-u https://example.com/CHANGELOG.md]
|
$0 [-l DEBUG_LEVEL] [-h] -f /path/to/CHANGELOG.md
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
|
|
||||||
|
|
@ -20,9 +20,6 @@ help() {
|
||||||
-f FILE
|
-f FILE
|
||||||
Path to changelog
|
Path to changelog
|
||||||
|
|
||||||
-u URL
|
|
||||||
URL of the changelog
|
|
||||||
|
|
||||||
-l debug|info|notice|warning|error
|
-l debug|info|notice|warning|error
|
||||||
Debug level
|
Debug level
|
||||||
EOH
|
EOH
|
||||||
|
|
@ -35,44 +32,34 @@ on_interrupt() {
|
||||||
}
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
CHANGELOG_FILE="${CHANGELOG_FILE:-}"
|
while getopts "hf:" option; do
|
||||||
CHANGELOG_URL="${CHANGELOG_URL:-}"
|
|
||||||
LOG_VERBOSE="${CHANGELOG_FILE:-info}"
|
|
||||||
|
|
||||||
while getopts "l:hf:u:" option; do
|
|
||||||
case "${option}" in
|
case "${option}" in
|
||||||
h) help; exit 0;;
|
h) help; exit 0;;
|
||||||
f) CHANGELOG_FILE="$OPTARG";;
|
f) CHANGELOG_FILE="$OPTARG";;
|
||||||
u) CHANGELOG_URL="$OPTARG";;
|
|
||||||
l) LOG_VERBOSE="$OPTARG";;
|
l) LOG_VERBOSE="$OPTARG";;
|
||||||
?) log -l error "$(usage)"; exit 1;;
|
?) log -l error "$(usage)"; exit 1;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
temp_directory="$(mktemp -d)"
|
if [ -z "$CHANGELOG_FILE" ]; then
|
||||||
|
log -l error "The file of the changelog is required."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f "$CHANGELOG_FILE" ]; then
|
||||||
|
log -l error "No such file: $CHANGELOG_FILE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
temp_directory="$(mktemp -d)"
|
||||||
version=
|
version=
|
||||||
is_first=1
|
is_first=1
|
||||||
|
|
||||||
if [ -n "$CHANGELOG_FILE" ]; then
|
|
||||||
if [ ! -f "$CHANGELOG_FILE" ]; then
|
|
||||||
log -l error "No such file: $CHANGELOG_FILE"
|
|
||||||
else
|
|
||||||
log -l info "File used: $CHANGELOG_FILE"
|
|
||||||
fi
|
|
||||||
elif [ -n "$CHANGELOG_URL" ]; then
|
|
||||||
log -l debug "URL used: $CHANGELOG_URL"
|
|
||||||
|
|
||||||
CHANGELOG_FILE="$temp_directory/_changelog"
|
|
||||||
|
|
||||||
curl -sS -o "$CHANGELOG_FILE" "$CHANGELOG_URL" || exit 0
|
|
||||||
else
|
|
||||||
log -l error "You must define a file or an url"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat << EOF
|
cat << EOF
|
||||||
---
|
---
|
||||||
sidebar_position: 7
|
hide:
|
||||||
|
- navigation
|
||||||
|
- toc
|
||||||
---
|
---
|
||||||
|
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
@ -98,10 +85,16 @@ EOF
|
||||||
if [ "$version" != "[Unreleased]" ]; then
|
if [ "$version" != "[Unreleased]" ]; then
|
||||||
log -l info "Version detected: $version"
|
log -l info "Version detected: $version"
|
||||||
|
|
||||||
printf "## %s\n" "$version"
|
if [ $is_first -eq 1 ]; then
|
||||||
|
printf "???+ success \"%s\"\n" "$version"
|
||||||
|
is_first=0
|
||||||
|
else
|
||||||
|
printf "??? abstract \"%s\"\n" "$version"
|
||||||
|
fi
|
||||||
|
|
||||||
sed \
|
sed \
|
||||||
-e 's/### \(.*\)/\n**\1**\n/g' \
|
-e 's/### \(.*\)/\n **\1**\n/g' \
|
||||||
|
-e 's/^/ /g' \
|
||||||
"$temp_directory/$version"
|
"$temp_directory/$version"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
@ -151,7 +144,7 @@ log() {
|
||||||
|
|
||||||
if [ $LEVEL -ge $LOG_VERBOSE_VALUE ]; then
|
if [ $LEVEL -ge $LOG_VERBOSE_VALUE ]; then
|
||||||
printf "%s\n" "$*" | while IFS='' read -r LINE; do
|
printf "%s\n" "$*" | while IFS='' read -r LINE; do
|
||||||
printf "%s%s%s%s\n" "${COLOR:-}" "${TIME:-}" "$LINE" "$(tput init)" >&2
|
printf "%s%s%s\n" "${COLOR:-}" "${TIME:-}" "$LINE" >&2
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
---
|
|
||||||
sidebar_position: 1
|
|
||||||
---
|
|
||||||
|
|
||||||
# How to replace Apporder?
|
|
||||||
|
|
||||||
Custom Menu could replace [Apporder](https://github.com/juliushaertl/apporder).
|
|
||||||
|
|
||||||
1. Go to user or global settings
|
|
||||||
2. Scroll to `Top menu` check all apps in `Applications kept in the top menu`
|
|
||||||
3. Scroll to `Applications` and customize sorting
|
|
||||||
4. Save
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
---
|
|
||||||
sidebar_position: 2
|
|
||||||
---
|
|
||||||
|
|
||||||
# Use first top menu app as default app
|
|
||||||
|
|
||||||
You can easily let Custom Menu redirect to the first app in the top menu by changing the following parameter in your configuration:
|
|
||||||
|
|
||||||
```php-inline title="config/config.php"
|
|
||||||
'defaultapp' => 'side_menu',
|
|
||||||
```
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
---
|
|
||||||
sidebar_position: 3
|
|
||||||
---
|
|
||||||
|
|
||||||
# How to export the configuration?
|
|
||||||
|
|
||||||
1. Go global settings
|
|
||||||
2. Click on `Export the configuration`
|
|
||||||
|
|
||||||
<figure markdown>
|
|
||||||
[](@site/static/content/export_conf.png)
|
|
||||||
<figcaption>Export the configuration</figcaption>
|
|
||||||
</figure>
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
---
|
|
||||||
sidebar_position: 4
|
|
||||||
---
|
|
||||||
|
|
||||||
# Custom Menu doesn't work for guest users
|
|
||||||
|
|
||||||
Custom menu must be added in app's allowlist.
|
|
||||||
|
|
||||||
<figure markdown>
|
|
||||||
[](@site/static/content/allowlist.png)
|
|
||||||
</figure>
|
|
||||||
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 237 KiB After Width: | Height: | Size: 237 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
1812
docs/changelog.md
|
|
@ -8,6 +8,11 @@ hide:
|
||||||
|
|
||||||
You can report a bug or request a feature by opening an issue: https://gitnet.fr/deblan/side_menu/issues
|
You can report a bug or request a feature by opening an issue: https://gitnet.fr/deblan/side_menu/issues
|
||||||
|
|
||||||
|
!!! info "Support"
|
||||||
|
**You like this app and you want to support me?**
|
||||||
|
|
||||||
|
[{width=120px}](https://www.buymeacoffee.com/deblan)
|
||||||
|
|
||||||
## You are a translator
|
## You are a translator
|
||||||
|
|
||||||
Translations are managed from [translate.codeberg.org](https://translate.codeberg.org/projects/custom-menu/application/).
|
Translations are managed from [translate.codeberg.org](https://translate.codeberg.org/projects/custom-menu/application/).
|
||||||
|
|
|
||||||
41
docs/faq.md
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
---
|
||||||
|
hide:
|
||||||
|
- navigation
|
||||||
|
---
|
||||||
|
|
||||||
|
# FAQ
|
||||||
|
|
||||||
|
## How to replace Apporder?
|
||||||
|
|
||||||
|
Custom Menu could replace [Apporder](https://github.com/juliushaertl/apporder).
|
||||||
|
|
||||||
|
1. Go to user or global settings
|
||||||
|
2. Scroll to `Top menu` check all apps in `Applications kept in the top menu`
|
||||||
|
3. Scroll to `Applications` and customize sorting
|
||||||
|
4. Save
|
||||||
|
|
||||||
|
## Use first top menu app as default app
|
||||||
|
|
||||||
|
You can easily let Custom Menu redirect to the first app in the top menu by changing the following parameter in your configuration:
|
||||||
|
|
||||||
|
```php-inline title="config/config.php"
|
||||||
|
'defaultapp' => 'side_menu',
|
||||||
|
```
|
||||||
|
|
||||||
|
## How to export the configuration?
|
||||||
|
|
||||||
|
1. Go global settings
|
||||||
|
2. Click on `Export the configuration`
|
||||||
|
|
||||||
|
<figure markdown>
|
||||||
|
[](./_static/img/export_conf.png){target="blank"}
|
||||||
|
<figcaption>Export the configuration</figcaption>
|
||||||
|
</figure>
|
||||||
|
|
||||||
|
## Custom Menu doesn't work for guest users
|
||||||
|
|
||||||
|
Custom menu must be added in app's allowlist.
|
||||||
|
|
||||||
|
<figure markdown>
|
||||||
|
[](./_static/img/allowlist.png){target="blank"}
|
||||||
|
</figure>
|
||||||
|
|
@ -1,9 +1,11 @@
|
||||||
---
|
---
|
||||||
sidebar_position: 1
|
hide:
|
||||||
title: Overview
|
- navigation
|
||||||
|
- toc
|
||||||
---
|
---
|
||||||
|
|
||||||
# Overview
|
🤙 Nextcloud app / Custom menu 🎨
|
||||||
|
===============================
|
||||||
|
|
||||||
[](https://ci.gitnet.fr/deblan/side_menu)
|
[](https://ci.gitnet.fr/deblan/side_menu)
|
||||||
[](https://translate.codeberg.org/engage/custom-menu/)
|
[](https://translate.codeberg.org/engage/custom-menu/)
|
||||||
|
|
@ -16,9 +18,17 @@ This application is rather suitable for instances that activate a lot of applica
|
||||||
|
|
||||||
You can customize colors depending of the theme (Dark theme and Breeze Dark).
|
You can customize colors depending of the theme (Dark theme and Breeze Dark).
|
||||||
|
|
||||||
**You like this app and you want to support me?**
|
* [Screenshots](screenshots.md)
|
||||||
|
* [Installation and upgrade](setup.md)
|
||||||
|
* [FAQ](faq.md)
|
||||||
|
* [Support](support.md)
|
||||||
|
* [Contribute](contrib.md)
|
||||||
|
|
||||||
[](https://www.buymeacoffee.com/deblan)
|
|
||||||
|
!!! info "Support"
|
||||||
|
**You like this app and you want to support me?**
|
||||||
|
|
||||||
|
[{width=120px}](https://www.buymeacoffee.com/deblan)
|
||||||
|
|
||||||
## Support
|
## Support
|
||||||
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
---
|
---
|
||||||
sidebar_position: 2
|
hide:
|
||||||
title: Screenshots
|
- navigation
|
||||||
|
- toc
|
||||||
---
|
---
|
||||||
|
|
||||||
# Screenshots
|
# Screenshots
|
||||||
|
|
@ -9,48 +10,48 @@ title: Screenshots
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<a target="_blank" href="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/n19_big_menu.png">
|
<a target="_blank" href="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/n19_big_menu.png">
|
||||||
<img src="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/n19_big_menu.png" />
|
<img src="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/n19_big_menu.png">
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<a target="_blank" href="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc18_menu_always_displayed.png">
|
<a target="_blank" href="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc18_menu_always_displayed.png">
|
||||||
<img src="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc18_menu_always_displayed.png" />
|
<img src="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc18_menu_always_displayed.png">
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<a target="_blank" href="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc19_default_menu.png">
|
<a target="_blank" href="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc19_default_menu.png">
|
||||||
<img src="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc19_default_menu.png" />
|
<img src="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc19_default_menu.png">
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<a target="_blank" href="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc20_big_menu_responsive.png">
|
<a target="_blank" href="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc20_big_menu_responsive.png">
|
||||||
<img src="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc20_big_menu_responsive.png" />
|
<img src="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc20_big_menu_responsive.png">
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<a target="_blank" href="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc25_big_menu.png">
|
<a target="_blank" href="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc25_big_menu.png">
|
||||||
<img src="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc25_big_menu.png" />
|
<img src="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc25_big_menu.png">
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<a target="_blank" href="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc25_default_menu.png">
|
<a target="_blank" href="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc25_default_menu.png">
|
||||||
<img src="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc25_default_menu.png" />
|
<img src="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc25_default_menu.png">
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<a target="_blank" href="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/personal_settings.png">
|
<a target="_blank" href="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/personal_settings.png">
|
||||||
<img src="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/personal_settings.png" />
|
<img src="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/personal_settings.png">
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<a target="_blank" href="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/admin_settings.png">
|
<a target="_blank" href="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/admin_settings.png">
|
||||||
<img src="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/admin_settings.png" />
|
<img src="https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/admin_settings.png">
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
---
|
---
|
||||||
sidebar_position: 2
|
hide:
|
||||||
title: Installation and upgrade
|
- navigation
|
||||||
|
- toc
|
||||||
---
|
---
|
||||||
|
|
||||||
Installation and upgrade
|
Installation and upgrade
|
||||||
|
|
@ -8,12 +9,10 @@ Installation and upgrade
|
||||||
|
|
||||||
Custom menu is available from the [app store](https://apps.nextcloud.com/apps/side_menu).
|
Custom menu is available from the [app store](https://apps.nextcloud.com/apps/side_menu).
|
||||||
|
|
||||||
| Version | Nextcloud | PHP | Other |
|
| Version | Nextcloud | PHP | Other |
|
||||||
| :--: | :--: | :--: | :--: |
|
| :--: | :--: | :--: | :--: |
|
||||||
| 5.x | >= 31 | PHP >= 8.3 | App `theming` enabled |
|
| 3.x | >= 25 | PHP >= 8.0 | App `theming` enabled |
|
||||||
| 4.x | >= 30 < 31 | PHP >= 8.0 | App `theming` enabled |
|
| 2.x | < 25 | PHP >= 7.1 | App `theming` enabled |
|
||||||
| 3.x | >= 25 < 30 | PHP >= 8.0 | App `theming` enabled |
|
|
||||||
| 2.x | < 25 | PHP >= 7.1 | App `theming` enabled |
|
|
||||||
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
---
|
---
|
||||||
sidebar_position: 5
|
hide:
|
||||||
title: Support
|
- navigation
|
||||||
|
- toc
|
||||||
---
|
---
|
||||||
|
|
||||||
# Support
|
# Support
|
||||||
|
|
@ -9,11 +10,73 @@ Bugs and feature requests should be reported with an issue on https://gitnet.fr/
|
||||||
|
|
||||||
You can also join the official room on Matrix: [#custommenu:neutralnetwork.org](https://matrix.to/#/#custommenu:neutralnetwork.org).
|
You can also join the official room on Matrix: [#custommenu:neutralnetwork.org](https://matrix.to/#/#custommenu:neutralnetwork.org).
|
||||||
|
|
||||||
| Version | Security | Bug | New feature |
|
| Version | Security | Bug | New feature |
|
||||||
| :--: | :--: | :--: | :--: |
|
| :--: | :--: | :--: | :--: |
|
||||||
| 5.x | Yes | Yes | Yes |
|
| 3.x | {{ icon.check }} | {{ icon.check }} | {{ icon.check }} |
|
||||||
| 4.x | Yes | Yes | No |
|
| 2.x | {{ icon.check }} | {{ icon.check }} | {{ icon.uncheck }} |
|
||||||
| 3.x | No | No | No |
|
| 1.x | {{ icon.uncheck }} | {{ icon.uncheck }} | {{ icon.uncheck }} |
|
||||||
| 2.x | No | No | No |
|
|
||||||
| 1.x | No | No | No |
|
|
||||||
|
|
||||||
|
<div id="issues">
|
||||||
|
<h3>Current issue(s)</h3>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const issues = document.querySelector('#issues')
|
||||||
|
const createAdmonition = (type, prefix, item) => {
|
||||||
|
const element = document.createElement('div')
|
||||||
|
element.innerHTML = `
|
||||||
|
<div class="admonition ${type}">
|
||||||
|
<p class="admonition-title">
|
||||||
|
<a href="${item.html_url}" target="_blank">${prefix} #${item.number}</a>
|
||||||
|
</p>
|
||||||
|
<p>${item.title}</p>
|
||||||
|
</div>
|
||||||
|
`
|
||||||
|
return element
|
||||||
|
}
|
||||||
|
|
||||||
|
const createEnhancement = (item) => {
|
||||||
|
return createAdmonition('example', 'Feature', item)
|
||||||
|
}
|
||||||
|
|
||||||
|
const createBug = (item) => {
|
||||||
|
return createAdmonition('bug', 'Bug', item)
|
||||||
|
}
|
||||||
|
|
||||||
|
const createQuestion = (item) => {
|
||||||
|
return createAdmonition('question', 'Issue', item)
|
||||||
|
}
|
||||||
|
|
||||||
|
fetch('https://gitnet.fr/api/v1/repos/deblan/side_menu/issues?state=open', {
|
||||||
|
headers: new Headers({'accept': 'application/json'})
|
||||||
|
})
|
||||||
|
.then((response) => {
|
||||||
|
return response.json()
|
||||||
|
})
|
||||||
|
.then((json) => {
|
||||||
|
if (json.length === 0) {
|
||||||
|
issues.style.display = 'none'
|
||||||
|
}
|
||||||
|
|
||||||
|
json.forEach((item) => {
|
||||||
|
let isBug = false
|
||||||
|
let isEnhancement = false
|
||||||
|
|
||||||
|
item.labels.forEach((label) => {
|
||||||
|
if (label.name === 'bug') {
|
||||||
|
isBug = true
|
||||||
|
} else if (label.name === 'enhancement') {
|
||||||
|
isEnhancement = true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
if (isBug) {
|
||||||
|
issues.appendChild(createBug(item))
|
||||||
|
} else if (isEnhancement) {
|
||||||
|
issues.appendChild(createEnhancement(item))
|
||||||
|
} else {
|
||||||
|
issues.appendChild(createQuestion(item))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -1,112 +0,0 @@
|
||||||
// @ts-check
|
|
||||||
// `@type` JSDoc annotations allow editor autocompletion and type checking
|
|
||||||
// (when paired with `@ts-check`).
|
|
||||||
// There are various equivalent ways to declare your Docusaurus config.
|
|
||||||
// See: https://docusaurus.io/docs/api/docusaurus-config
|
|
||||||
|
|
||||||
import {themes as prismThemes} from 'prism-react-renderer';
|
|
||||||
|
|
||||||
/** @type {import('@docusaurus/types').Config} */
|
|
||||||
const config = {
|
|
||||||
title: 'Custom menu',
|
|
||||||
tagline: 'Improves the day-to-day usability and user interface of Nextcloud',
|
|
||||||
favicon: 'ontent/icon.svg',
|
|
||||||
|
|
||||||
// Set the production url of your site here
|
|
||||||
url: 'https://deblan.gitnet.page/',
|
|
||||||
// Set the /<baseUrl>/ pathname under which your site is served
|
|
||||||
// For GitHub pages deployment, it is often '/<projectName>/'
|
|
||||||
baseUrl: '/side_menu_doc/',
|
|
||||||
|
|
||||||
// GitHub pages deployment config.
|
|
||||||
// If you aren't using GitHub pages, you don't need these.
|
|
||||||
organizationName: 'deblan', // Usually your GitHub org/user name.
|
|
||||||
projectName: 'side_menu', // Usually your repo name.
|
|
||||||
|
|
||||||
onBrokenLinks: 'throw',
|
|
||||||
onBrokenMarkdownLinks: 'warn',
|
|
||||||
|
|
||||||
// Even if you don't use internationalization, you can use this field to set
|
|
||||||
// useful metadata like html lang. For example, if your site is Chinese, you
|
|
||||||
// may want to replace "en" with "zh-Hans".
|
|
||||||
i18n: {
|
|
||||||
defaultLocale: 'en',
|
|
||||||
locales: ['en'],
|
|
||||||
},
|
|
||||||
|
|
||||||
presets: [
|
|
||||||
[
|
|
||||||
'classic',
|
|
||||||
/** @type {import('@docusaurus/preset-classic').Options} */
|
|
||||||
({
|
|
||||||
docs: {
|
|
||||||
sidebarPath: './sidebars.js',
|
|
||||||
},
|
|
||||||
theme: {
|
|
||||||
customCss: './src/css/custom.css',
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
],
|
|
||||||
],
|
|
||||||
|
|
||||||
themeConfig:
|
|
||||||
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
|
|
||||||
({
|
|
||||||
image: 'https://deblan.gitnet.page/side_menu_doc/content/card.jpg',
|
|
||||||
navbar: {
|
|
||||||
title: 'Home',
|
|
||||||
logo: {
|
|
||||||
alt: 'Logo',
|
|
||||||
src: 'content/icon.svg',
|
|
||||||
},
|
|
||||||
items: [
|
|
||||||
{
|
|
||||||
type: 'docSidebar',
|
|
||||||
sidebarId: 'tutorialSidebar',
|
|
||||||
position: 'left',
|
|
||||||
label: 'Documentation',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
href: 'https://gitnet.fr/deblan/side_menu',
|
|
||||||
label: 'Gitnet',
|
|
||||||
position: 'right',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
footer: {
|
|
||||||
style: 'dark',
|
|
||||||
links: [
|
|
||||||
{
|
|
||||||
title: 'Community',
|
|
||||||
items: [
|
|
||||||
{
|
|
||||||
label: 'Issue',
|
|
||||||
href: 'https://gitnet.fr/deblan/side_menu/issues',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Matrix',
|
|
||||||
href: 'https://matrix.to/#/!TFPucDATKODpHNVAtu:neutralnetwork.org?via=neutralnetwork.org',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'More',
|
|
||||||
items: [
|
|
||||||
{
|
|
||||||
label: 'Blog of the author',
|
|
||||||
to: 'https://www.deblan.io',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
copyright: `It's free! Fork and hack it!`,
|
|
||||||
},
|
|
||||||
prism: {
|
|
||||||
theme: prismThemes.github,
|
|
||||||
darkTheme: prismThemes.dracula,
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
plugins: [require.resolve('docusaurus-lunr-search')],
|
|
||||||
};
|
|
||||||
|
|
||||||
export default config;
|
|
||||||
76
mkdocs.yml
Normal file
|
|
@ -0,0 +1,76 @@
|
||||||
|
site_name: Custom menu
|
||||||
|
# site_url: "https://deblan.gitnet.page/side_menu_doc/"
|
||||||
|
|
||||||
|
plugins:
|
||||||
|
- search
|
||||||
|
- social
|
||||||
|
- autolinks
|
||||||
|
- markdownextradata
|
||||||
|
- redirects:
|
||||||
|
redirect_maps:
|
||||||
|
'tips.md': 'faq.md'
|
||||||
|
|
||||||
|
extra_css:
|
||||||
|
- _static/css/extra.css
|
||||||
|
|
||||||
|
extra:
|
||||||
|
generator: false
|
||||||
|
icon:
|
||||||
|
check: ":fontawesome-solid-check:"
|
||||||
|
uncheck: ":fontawesome-solid-xmark:"
|
||||||
|
|
||||||
|
theme:
|
||||||
|
name: material
|
||||||
|
custom_dir: overrides
|
||||||
|
logo: _static/img/logo.svg
|
||||||
|
favicon: _static/img/logo.svg
|
||||||
|
features:
|
||||||
|
- content.code.copy
|
||||||
|
- navigation.tabs
|
||||||
|
- navigation.footer
|
||||||
|
palette:
|
||||||
|
- scheme: default
|
||||||
|
primary: "light blue"
|
||||||
|
media: "(prefers-color-scheme: light)"
|
||||||
|
toggle:
|
||||||
|
icon: material/brightness-7
|
||||||
|
name: Passer en mode sombre
|
||||||
|
- scheme: slate
|
||||||
|
primary: "black"
|
||||||
|
media: "(prefers-color-scheme: dark)"
|
||||||
|
toggle:
|
||||||
|
icon: material/brightness-4
|
||||||
|
name: Passer en mode clair
|
||||||
|
|
||||||
|
markdown_extensions:
|
||||||
|
- extra
|
||||||
|
- admonition
|
||||||
|
- pymdownx.highlight:
|
||||||
|
anchor_linenums: true
|
||||||
|
extend_pygments_lang:
|
||||||
|
- name: php-inline
|
||||||
|
lang: php
|
||||||
|
options:
|
||||||
|
startinline: true
|
||||||
|
- pymdownx.tabbed:
|
||||||
|
alternate_style: true
|
||||||
|
- pymdownx.magiclink
|
||||||
|
- pymdownx.snippets
|
||||||
|
- pymdownx.superfences
|
||||||
|
- pymdownx.highlight
|
||||||
|
- pymdownx.inlinehilite
|
||||||
|
- pymdownx.details
|
||||||
|
- attr_list
|
||||||
|
- md_in_html
|
||||||
|
- pymdownx.emoji:
|
||||||
|
emoji_index: !!python/name:materialx.emoji.twemoji
|
||||||
|
emoji_generator: !!python/name:materialx.emoji.to_svg
|
||||||
|
|
||||||
|
nav:
|
||||||
|
- Overview: index.md
|
||||||
|
- Screenshots: screenshots.md
|
||||||
|
- Install and upgrade: setup.md
|
||||||
|
- FAQ: faq.md
|
||||||
|
- Support: support.md
|
||||||
|
- Contribute: contrib.md
|
||||||
|
- Changelog: changelog.md
|
||||||
7
overrides/main.html
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block scripts %}
|
||||||
|
{{ super() }}
|
||||||
|
|
||||||
|
<!-- ci_scripts -->
|
||||||
|
{% endblock %}
|
||||||
15403
package-lock.json
generated
45
package.json
|
|
@ -1,45 +0,0 @@
|
||||||
{
|
|
||||||
"name": "deblan/side_menu_doc",
|
|
||||||
"version": "dev",
|
|
||||||
"private": true,
|
|
||||||
"scripts": {
|
|
||||||
"docusaurus": "docusaurus",
|
|
||||||
"start": "docusaurus start",
|
|
||||||
"build": "docusaurus build",
|
|
||||||
"swizzle": "docusaurus swizzle",
|
|
||||||
"deploy": "docusaurus deploy",
|
|
||||||
"clear": "docusaurus clear",
|
|
||||||
"serve": "docusaurus serve",
|
|
||||||
"write-translations": "docusaurus write-translations",
|
|
||||||
"write-heading-ids": "docusaurus write-heading-ids"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@docusaurus/core": "3.1.0",
|
|
||||||
"@docusaurus/preset-classic": "3.1.0",
|
|
||||||
"@mdx-js/react": "^3.0.0",
|
|
||||||
"clsx": "^2.0.0",
|
|
||||||
"docusaurus-lunr-search": "^3.3.2",
|
|
||||||
"prism-react-renderer": "^2.3.0",
|
|
||||||
"react": "^18.0.0",
|
|
||||||
"react-dom": "^18.0.0"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@docusaurus/module-type-aliases": "3.1.0",
|
|
||||||
"@docusaurus/types": "3.1.0"
|
|
||||||
},
|
|
||||||
"browserslist": {
|
|
||||||
"production": [
|
|
||||||
">0.5%",
|
|
||||||
"not dead",
|
|
||||||
"not op_mini all"
|
|
||||||
],
|
|
||||||
"development": [
|
|
||||||
"last 3 chrome version",
|
|
||||||
"last 3 firefox version",
|
|
||||||
"last 5 safari version"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
25
sidebars.js
|
|
@ -1,25 +0,0 @@
|
||||||
// @ts-check
|
|
||||||
|
|
||||||
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
|
|
||||||
const sidebars = {
|
|
||||||
tutorialSidebar: [
|
|
||||||
'intro',
|
|
||||||
'screenshots',
|
|
||||||
'setup',
|
|
||||||
{
|
|
||||||
type: 'category',
|
|
||||||
label: 'FAQ',
|
|
||||||
items: [
|
|
||||||
'FAQ/apporder',
|
|
||||||
'FAQ/default-app',
|
|
||||||
'FAQ/export-config',
|
|
||||||
'FAQ/guest-users',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
'support',
|
|
||||||
'contrib',
|
|
||||||
'changelog',
|
|
||||||
],
|
|
||||||
};
|
|
||||||
|
|
||||||
export default sidebars;
|
|
||||||
|
|
@ -1,61 +0,0 @@
|
||||||
import clsx from 'clsx';
|
|
||||||
import Heading from '@theme/Heading';
|
|
||||||
import styles from './styles.module.css';
|
|
||||||
|
|
||||||
const FeatureList = [
|
|
||||||
{
|
|
||||||
title: 'Reorganize the access to your apps',
|
|
||||||
Svg: require('@site/static/content/organize.svg').default,
|
|
||||||
description: (
|
|
||||||
<>
|
|
||||||
<em>Custom menu</em> allows you to modify the position of the main menu by creating a panel on the left of the interface or with a big menu on the top. You can also define apps that must be displayed in the top menu.
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Fully customizable',
|
|
||||||
Svg: require('@site/static/content/customization.svg').default,
|
|
||||||
description: (
|
|
||||||
<>
|
|
||||||
<em>Custom menu</em> offers a multitude of settings, giving you the flexibility to configure Nextcloud to suit your specific needs and preferences.
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Free and open-source',
|
|
||||||
Svg: require('@site/static/content/free.svg').default,
|
|
||||||
description: (
|
|
||||||
<>
|
|
||||||
You have the freedom to inspect the code, duplicate it, learn with it, modify it or distribute it as you see fit.
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
function Feature({Svg, title, description}) {
|
|
||||||
return (
|
|
||||||
<div className={clsx('col col--4')}>
|
|
||||||
<div className="text--center">
|
|
||||||
<Svg className={styles.featureSvg} role="img" />
|
|
||||||
</div>
|
|
||||||
<div className="text--center padding-horiz--md">
|
|
||||||
<Heading as="h3">{title}</Heading>
|
|
||||||
<p>{description}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export default function HomepageFeatures() {
|
|
||||||
return (
|
|
||||||
<section className={styles.features}>
|
|
||||||
<div className="container">
|
|
||||||
<div className="row">
|
|
||||||
{FeatureList.map((props, idx) => (
|
|
||||||
<Feature key={idx} {...props} />
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
.features {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
padding: 2rem 0;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.featureSvg {
|
|
||||||
height: 200px;
|
|
||||||
width: 200px;
|
|
||||||
}
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
/**
|
|
||||||
* Any CSS included here will be global. The classic template
|
|
||||||
* bundles Infima by default. Infima is a CSS framework designed to
|
|
||||||
* work well for content-centric websites.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* You can override the default Infima variables here. */
|
|
||||||
:root {
|
|
||||||
--ifm-color-primary: #2e8555;
|
|
||||||
--ifm-color-primary-dark: #29784c;
|
|
||||||
--ifm-color-primary-darker: #277148;
|
|
||||||
--ifm-color-primary-darkest: #205d3b;
|
|
||||||
--ifm-color-primary-light: #33925d;
|
|
||||||
--ifm-color-primary-lighter: #359962;
|
|
||||||
--ifm-color-primary-lightest: #3cad6e;
|
|
||||||
--ifm-code-font-size: 95%;
|
|
||||||
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* For readability concerns, you should choose a lighter palette in dark mode. */
|
|
||||||
[data-theme='dark'] {
|
|
||||||
--ifm-color-primary: #25c2a0;
|
|
||||||
--ifm-color-primary-dark: #21af90;
|
|
||||||
--ifm-color-primary-darker: #1fa588;
|
|
||||||
--ifm-color-primary-darkest: #1a8870;
|
|
||||||
--ifm-color-primary-light: #29d5b0;
|
|
||||||
--ifm-color-primary-lighter: #32d8b4;
|
|
||||||
--ifm-color-primary-lightest: #4fddbf;
|
|
||||||
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
|
|
||||||
}
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
import clsx from 'clsx';
|
|
||||||
import Link from '@docusaurus/Link';
|
|
||||||
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
|
||||||
import Layout from '@theme/Layout';
|
|
||||||
import HomepageFeatures from '@site/src/components/HomepageFeatures';
|
|
||||||
|
|
||||||
import Heading from '@theme/Heading';
|
|
||||||
import styles from './index.module.css';
|
|
||||||
|
|
||||||
function HomepageHeader() {
|
|
||||||
const {siteConfig} = useDocusaurusContext();
|
|
||||||
return (
|
|
||||||
<header className={clsx('hero hero--primary', styles.heroBanner)}>
|
|
||||||
<div className="container">
|
|
||||||
<Heading as="h1" className="hero__title">
|
|
||||||
{siteConfig.title}
|
|
||||||
</Heading>
|
|
||||||
<p className="hero__subtitle">{siteConfig.tagline}</p>
|
|
||||||
<div className={styles.buttons}>
|
|
||||||
<Link
|
|
||||||
className="button button--secondary button--lg"
|
|
||||||
to="/docs/intro">
|
|
||||||
Get started!
|
|
||||||
</Link>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export default function Home() {
|
|
||||||
const {siteConfig} = useDocusaurusContext();
|
|
||||||
return (
|
|
||||||
<Layout
|
|
||||||
title={`${siteConfig.title}`}
|
|
||||||
description="Allows you to modify the position of the main menu by creating a panel on the left of the interface or with a big menu on the top.">
|
|
||||||
<HomepageHeader />
|
|
||||||
<main>
|
|
||||||
<HomepageFeatures />
|
|
||||||
</main>
|
|
||||||
</Layout>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
/**
|
|
||||||
* CSS files with the .module.css suffix will be treated as CSS modules
|
|
||||||
* and scoped locally.
|
|
||||||
*/
|
|
||||||
|
|
||||||
.heroBanner {
|
|
||||||
padding: 4rem 0;
|
|
||||||
text-align: center;
|
|
||||||
position: relative;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width: 996px) {
|
|
||||||
.heroBanner {
|
|
||||||
padding: 2rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.buttons {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
---
|
|
||||||
title: Markdown page example
|
|
||||||
---
|
|
||||||
|
|
||||||
# Markdown page example
|
|
||||||
|
|
||||||
You don't need React to write simple standalone pages.
|
|
||||||
|
Before Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 8.3 KiB |
|
|
@ -1,70 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
width="145.889"
|
|
||||||
height="145.889"
|
|
||||||
viewBox="0 0 38.6 38.6"
|
|
||||||
version="1.1"
|
|
||||||
id="svg885"
|
|
||||||
sodipodi:docname="icon.svg"
|
|
||||||
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
|
|
||||||
<metadata
|
|
||||||
id="metadata891">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title></dc:title>
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<defs
|
|
||||||
id="defs889" />
|
|
||||||
<sodipodi:namedview
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1"
|
|
||||||
objecttolerance="10"
|
|
||||||
gridtolerance="10"
|
|
||||||
guidetolerance="10"
|
|
||||||
inkscape:pageopacity="0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:window-width="1918"
|
|
||||||
inkscape:window-height="1038"
|
|
||||||
id="namedview887"
|
|
||||||
showgrid="false"
|
|
||||||
inkscape:zoom="2.5190383"
|
|
||||||
inkscape:cx="132.60659"
|
|
||||||
inkscape:cy="131.23851"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="20"
|
|
||||||
inkscape:window-maximized="0"
|
|
||||||
inkscape:current-layer="svg885" />
|
|
||||||
<rect
|
|
||||||
width="34.535"
|
|
||||||
height="34.535"
|
|
||||||
x="2.0330019"
|
|
||||||
y="2.0320034"
|
|
||||||
overflow="visible"
|
|
||||||
rx="5.4809999"
|
|
||||||
ry="5.4809999"
|
|
||||||
style="fill:#e2ffef;stroke:#2e8555;marker:none;stroke-opacity:1;fill-opacity:1"
|
|
||||||
color="#000000"
|
|
||||||
stroke-width="4.065"
|
|
||||||
stroke-linecap="round"
|
|
||||||
paint-order="fill markers stroke"
|
|
||||||
id="rect881" />
|
|
||||||
<path
|
|
||||||
d="M 7.423,19.242 H 17.42 M 7.423,11.885 h 11.4 m -11.4,14.714 h 11.4"
|
|
||||||
stroke-width="3.165"
|
|
||||||
id="path879"
|
|
||||||
style="fill:none;stroke:#2e8555;stroke-opacity:1" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 2 KiB |
|
Before Width: | Height: | Size: 25 KiB |