chore: change repo name
* automatically add issues to project board * chore: rename app
20
.github/workflows/auto-add-to-project.yml
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
name: Auto Add Issues and Pull Requests to Project
|
||||
|
||||
on:
|
||||
issues:
|
||||
types:
|
||||
- opened
|
||||
pull_request_target:
|
||||
types:
|
||||
- opened
|
||||
|
||||
jobs:
|
||||
# https://github.com/actions/add-to-project
|
||||
add-to-project:
|
||||
name: Add issue and bugs to project
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/add-to-project@v0.5.0
|
||||
with:
|
||||
project-url: https://github.com/orgs/overhangio/projects/4
|
||||
github-token: ${{ secrets.GH_PROJECT_PERSONAL_ACCESS_TOKEN }}
|
||||
8
.gitlab-ci.yml
Normal file
@ -0,0 +1,8 @@
|
||||
variables:
|
||||
TUTOR_PLUGIN: deck
|
||||
TUTOR_PYPI_PACKAGE: tutor-deck
|
||||
GITHUB_REPO: overhangio/tutor-deck
|
||||
|
||||
include:
|
||||
- project: "community/tutor-ci"
|
||||
file: "plugin-gitlab-ci.yml"
|
||||
@ -16,7 +16,7 @@ class MetaDataHook(MetadataHookInterface):
|
||||
def load_about() -> dict[str, str]:
|
||||
about: dict[str, str] = {}
|
||||
with open(
|
||||
os.path.join(HERE, "tutordash", "__about__.py"), "rt", encoding="utf-8"
|
||||
os.path.join(HERE, "tutordeck", "__about__.py"), "rt", encoding="utf-8"
|
||||
) as f:
|
||||
exec(f.read(), about) # pylint: disable=exec-used
|
||||
return about
|
||||
|
||||
6
Makefile
@ -1,13 +1,13 @@
|
||||
.DEFAULT_GOAL := help
|
||||
.PHONY: docs
|
||||
SRC_DIRS = ./tutordash
|
||||
SRC_DIRS = ./tutordeck
|
||||
BLACK_OPTS = --exclude templates ${SRC_DIRS}
|
||||
|
||||
runserver: ## Run a development server
|
||||
tutor dash run --dev
|
||||
tutor deck run --dev
|
||||
|
||||
scss: ## Compile SCSS files to CSS
|
||||
sass ${SASS_OPTS} tutordash/server/static/scss/:tutordash/server/static/css/
|
||||
sass ${SASS_OPTS} tutordeck/server/static/scss/:tutordeck/server/static/css/
|
||||
|
||||
scss-watch: ## Compile SCSS files to CSS and watch for changes
|
||||
$(MAKE) scss SASS_OPTS="--watch"
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
dash plugin for `Tutor <https://docs.tutor.edly.io>`__
|
||||
deck plugin for `Tutor <https://docs.tutor.edly.io>`__
|
||||
######################################################
|
||||
|
||||
Awesome administration dashboard and plugin marketplace for Tutor
|
||||
@ -9,7 +9,7 @@ Installation
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
pip install git+https://github.com/overhangio/tutor-dash
|
||||
pip install git+https://github.com/overhangio/tutor-deck
|
||||
|
||||
.. TODO how to package css files?
|
||||
|
||||
@ -18,7 +18,7 @@ Usage
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
tutor plugins enable dash
|
||||
tutor plugins enable deck
|
||||
|
||||
Development
|
||||
***********
|
||||
|
||||
2
package-lock.json
generated
@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "tutor-dash",
|
||||
"name": "tutor-deck",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
# https://hatch.pypa.io/latest/config/build/
|
||||
|
||||
[project]
|
||||
name = "tutor-dash"
|
||||
name = "tutor-deck"
|
||||
license = { text = "AGPL-3.0-only" }
|
||||
authors = [
|
||||
{name = "Edly"},
|
||||
@ -47,13 +47,13 @@ dev = [
|
||||
]
|
||||
|
||||
[project.entry-points."tutor.plugin.v1"]
|
||||
dash = "tutordash.plugin"
|
||||
deck = "tutordeck.plugin"
|
||||
|
||||
# https://packaging.python.org/en/latest/specifications/well-known-project-urls/#well-known-labels
|
||||
[project.urls]
|
||||
Homepage = "https://github.com/overhangio/tutor-dash"
|
||||
Code = "https://github.com/overhangio/tutor-dash"
|
||||
Issues = "https://github.com/overhangio/tutor-dash/issues"
|
||||
Homepage = "https://github.com/overhangio/tutor-deck"
|
||||
Code = "https://github.com/overhangio/tutor-deck"
|
||||
Issues = "https://github.com/overhangio/tutor-deck/issues"
|
||||
|
||||
# hatch-specific configuration
|
||||
[tool.hatch.metadata.hooks.custom]
|
||||
@ -66,8 +66,8 @@ build-backend = "hatchling.build"
|
||||
[tool.hatch.build.targets.sdist]
|
||||
# Disable strict naming, otherwise twine is not able to detect name/version
|
||||
strict-naming = false
|
||||
include = [ "/tutordash"]
|
||||
include = [ "/tutordeck"]
|
||||
exclude = ["tests*"]
|
||||
|
||||
[tool.hatch.build.targets.wheel]
|
||||
packages = ["tutordash"]
|
||||
packages = ["tutordeck"]
|
||||
|
||||
@ -13,17 +13,17 @@ from .server import app
|
||||
|
||||
hooks.Filters.CONFIG_DEFAULTS.add_items(
|
||||
[
|
||||
("DASH_VERSION", __version__),
|
||||
("DECK_VERSION", __version__),
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
@click.group()
|
||||
def dash() -> None:
|
||||
def deck() -> None:
|
||||
pass
|
||||
|
||||
|
||||
@dash.command(name="run")
|
||||
@deck.command(name="run")
|
||||
@click.option("--host", default="127.0.0.1", show_default=True)
|
||||
@click.option("-p", "--port", default=3274, type=int, show_default=True)
|
||||
@click.option(
|
||||
@ -31,11 +31,11 @@ def dash() -> None:
|
||||
help="Enable development mode, with auto-reload and debug templates.",
|
||||
)
|
||||
@click.pass_obj
|
||||
def dash_run(obj: Context, host: str, port: int, dev: bool) -> None:
|
||||
def deck_run(obj: Context, host: str, port: int, dev: bool) -> None:
|
||||
"""
|
||||
Run the dash server.
|
||||
Run the deck server.
|
||||
"""
|
||||
app.run(obj.root, host=host, port=port, debug=dev, use_reloader=dev)
|
||||
|
||||
|
||||
hooks.Filters.CLI_COMMANDS.add_item(dash)
|
||||
hooks.Filters.CLI_COMMANDS.add_item(deck)
|
||||
@ -22,7 +22,7 @@ from quart.helpers import WerkzeugResponse
|
||||
from quart.typing import ResponseTypes
|
||||
from tutor.plugins.v1 import discover_package
|
||||
|
||||
from tutordash.server.utils import current_page_plugins, pagination_context
|
||||
from tutordeck.server.utils import current_page_plugins, pagination_context
|
||||
|
||||
from . import constants, tutorclient
|
||||
|
||||
|
Before Width: | Height: | Size: 466 B After Width: | Height: | Size: 466 B |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 1021 B After Width: | Height: | Size: 1021 B |
|
Before Width: | Height: | Size: 637 B After Width: | Height: | Size: 637 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 278 B After Width: | Height: | Size: 278 B |
|
Before Width: | Height: | Size: 288 B After Width: | Height: | Size: 288 B |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 412 B After Width: | Height: | Size: 412 B |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
@ -7,7 +7,7 @@
|
||||
<div class="author">By {{ plugin.author }}</div>
|
||||
<div class="description">{{ plugin.description|safe }}</div>
|
||||
</div>
|
||||
<div class="warning" id="warning-cookie-{{plugin.name}}">
|
||||
<div class="warning" hx-preserve="true" id="warning-cookie-{{plugin.name}}">
|
||||
<img src="{{ url_for('static', filename='/img/Featured icon.svg')}}" alt="" title="Run launch platform for changes to this plugin to take effect">
|
||||
</div>
|
||||
|
||||
@ -4,16 +4,16 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="Tutor Dash">
|
||||
<meta name="description" content="Tutor Deck">
|
||||
|
||||
<title>Tutor Dash</title>
|
||||
<title>Tutor Deck</title>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" type="image/x-icon" href="{{ url_for('static', filename='/img/favicon.png') }}">
|
||||
<!-- CSS -->
|
||||
<!-- <link rel="stylesheet" href="css/normalize.css"> -->
|
||||
<!-- <link rel="stylesheet" href="css/styles.css"> -->
|
||||
<link href="{{ url_for('static', filename='css/dash.css') }}" rel="stylesheet">
|
||||
<link href="{{ url_for('static', filename='css/deck.css') }}" rel="stylesheet">
|
||||
<script src="{{url_for('static', filename='js/htmx.min.js')}}"></script>
|
||||
<script src="{{url_for('static', filename='js/sse.js')}}"></script>
|
||||
</head>
|
||||
@ -99,7 +99,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="{{ url_for('static', filename='js/dash.js') }}"></script>
|
||||
<script src="{{ url_for('static', filename='js/deck.js') }}"></script>
|
||||
{% if sidebar_active_tab %}
|
||||
<script>
|
||||
document.getElementById('{{ sidebar_active_tab }}').classList.toggle('sidebar-tab-selected');
|
||||
@ -73,7 +73,7 @@ class Cli:
|
||||
"""
|
||||
self.args = args
|
||||
self.log_file = tempfile.NamedTemporaryFile(
|
||||
"ab", prefix="tutor-dash-", suffix=".log"
|
||||
"ab", prefix="tutor-deck-", suffix=".log"
|
||||
)
|
||||
self._stop_flag = threading.Event()
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import typing as t
|
||||
|
||||
from tutordash.server import constants
|
||||
from tutordeck.server import constants
|
||||
|
||||
|
||||
def pagination_context(
|
||||