Skip to content

Commit

Permalink
Knowledge Base Begins (#103)
Browse files Browse the repository at this point in the history
* Knowledge Base Begins

* Minor fixes for KB initial commit

* Some more minor fixes for KB initial commit
  • Loading branch information
altvod authored Nov 17, 2023
1 parent cb59450 commit dc14479
Show file tree
Hide file tree
Showing 7 changed files with 111 additions and 33 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ ci_artifacts
.DS_Store
artifacts
Taskfile.yml
.obsidian
41 changes: 8 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,15 @@
## Management tasks
# datalens-backend

Running tasks:
```
task <task_name>
```
## About

This is the repository for the back-end implementation of DataLens

### Environment (`env:`)
Head over to the [Knowledge Base](kb/index.md) for documentation on this repo.

- `task env:devenv`:
Create development/testing environment (run it from a package dir)
- `task env:devenv-d`:
Create development/testing environment in detached mode (run it from a package dir)
- `task env:ensure_venv`: Command to create virtual env for the mainrepo tools.
It requires presence of .env in the mainrepo/tools.
[Code of conduct](CODE_OF_CONDUCT.md)

[Contributing](CONTRIBUTING.md)

### Generation (`gen:`)
## License

- `task gen:antlr`:
(Re-)generate ANTLR code files for formula
- `task gen:i18n-po`:
Sync/generate `.po` files for package (run it from a package dir)
- `task gen:i18n-binaries`:
Generate binary `.mo` files from `.po` files for package (run it from a package dir)


### Code quality (`cq:`)

Experimental tasks to check and fix source files.

- `task cq:fix_changed`:
Apply all auto-fixes
- `task cq:check_changed`:
Check for any non-conformity in code style/format/lint
- `task cq:fix_dir -- {single dir}`:
Apply all auto-fixes to the given dir absolute path
- `task cq:check_dir -- {single dir}`:
Check for any non-conformity in code style/format/lint in the given dir abs path
`datalens-backend` is available under the Apache 2.0 license.
6 changes: 6 additions & 0 deletions kb/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Datalens Backend Knowledge Base

Welcome to the KB!

See:
- [Repository tooling](tooling/index.md)
15 changes: 15 additions & 0 deletions kb/test_embeds.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
This is a file to test embedded diagrams.


``` plantuml
@startuml
digraph foo {
node [style=rounded]
node1 [shape=box]
node2 [fillcolor=yellow, style="rounded,filled", shape=diamond]
node3 [shape=record, label="{ a | b | c }"]
node1 -> node2 -> node3
};
@enduml
```
8 changes: 8 additions & 0 deletions kb/tooling/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Repository Tooling

This section is about the custom tooling available in this repo.

- [task commands](task_commands.md) - a set of (`make`-like) shortcuts for various commands and scripts for repository management, development, testing, etc.
- tools from `terrarium` ([README](../../terrarium/README.md)):
- [dl-git](../../terrarium/dl_gitmanager/README.md) - a wrapper for advanced git commands, for usage mainly in the CI workflow
- [dl-repo / dl-package](../../terrarium/dl_repmanager/README.md) - tools for managing and inspecting packages, their dependencies, meta-packages, etc.
47 changes: 47 additions & 0 deletions kb/tooling/task_commands.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
## Management tasks

These commands require the ``taskfile`` tool. See [this page](https://taskfile.dev/installation/)
for installation options.

Running tasks:
```
task <task_name>
```


### Environment (`env:`)

Working with the testing/development environment.

- `task env:devenv`:
Create development/testing environment (run it from a package dir)
- `task env:devenv-d`:
Create development/testing environment in detached mode (run it from a package dir)
- `task env:ensure_venv`: Command to create virtual env for the mainrepo tools.
It requires presence of .env in the mainrepo/tools.


### Generation (`gen:`)

Generating files to be used from the code.

- `task gen:antlr`:
(Re-)generate ANTLR code files for formula
- `task gen:i18n-po`:
Sync/generate `.po` files for package (run it from a package dir)
- `task gen:i18n-binaries`:
Generate binary `.mo` files from `.po` files for package (run it from a package dir)


### Code quality (`cq:`)

Checking and fixing source files.

- `task cq:fix_changed`:
Apply all auto-fixes
- `task cq:check_changed`:
Check for any non-conformity in code style/format/lint
- `task cq:fix_dir -- {single dir}`:
Apply all auto-fixes to the given dir absolute path
- `task cq:check_dir -- {single dir}`:
Check for any non-conformity in code style/format/lint in the given dir abs path
26 changes: 26 additions & 0 deletions kb/using_kb.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Working with the KB

This KB is mostly `Markdown`, but it has embedded charts.
These usually don't work out-of-the-box and might require a little additional configuration.

To check the correect rendering of embedded charts open [this file](test_embeds.md).
If your editor supports this, and everything is configured correctly,
you should see a rendered charts.

Here are two options you can use to work with this KB

## PyCharm

- Install `graphviz`.
- Install and enable the Markdown plugin in PyCharm.

In theory this should be enough, but you may find that charts give you a rendering error
about not finding "dot".
In this case find the `dot` executable in your system and copy it to `/opt/local/bin/dot`.
It should work now.

## Obsidian

- Install the `Obsidian` app
- Install the PlantUML plugin in Obsidian.
You might need to configure the path to the dot executable.

0 comments on commit dc14479

Please sign in to comment.