[WIP] Documentation
This commit is contained in:
parent
21a85b4501
commit
cc362ca3d7
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,5 +1,6 @@
|
||||
.gradle/
|
||||
build/
|
||||
.kotlin/
|
||||
.idea/
|
||||
/logs/
|
||||
|
||||
|
34
docs/templates/README-TEMPLATE.md
vendored
Normal file
34
docs/templates/README-TEMPLATE.md
vendored
Normal file
@ -0,0 +1,34 @@
|
||||
# SNARK
|
||||
|
||||
In Lewis Carroll "The hunting of the Snark", the Snark itself is something everybody want to get, but nobody know what it is. It is the same in case of this project, but it also has narrower scope. SNARK could be read as "Scientific Notation And Research works in Kotlin" because it could be used for automatic creation of research papers. But it has other purposes as well.
|
||||
|
||||
To sum it up, **SNARK is an automated data transformation tool with the main focus on document and web page generation**. It is based on [DataForge framework](https://github.com/SciProgCentre/dataforge-core).
|
||||
|
||||
SNARK **is not a typesetting system** itself, but it could utilize typesetting systems such as Markdown, Latex or Typst to do data transformations.
|
||||
|
||||
## Concepts
|
||||
|
||||
The SNARK process it the transformation of a data tree. Initial data could include texts, images, static binary or textual data or even active external data subscriptions. The result is usually a tree of documents or a directly served web-site.
|
||||
|
||||
**Data** is any kind of content, generated lazily with additional metadata (DataForge Meta).
|
||||
|
||||
## Using DataForge context
|
||||
|
||||
DataForge module management is based on **Contexts** and **Plugins**. Context is used both as dependency injection system, lifecycle object and API discoverability root for all executions. To use some subsystem, one needs to:
|
||||
|
||||
* Create a Context with a Plugin like this:
|
||||
|
||||
```kotlin
|
||||
Context("Optional context name"){
|
||||
plugin(SnarkHtml)
|
||||
// Here SnarkHtml is a Plugin factory declared as a companion object to a Plugin itself
|
||||
}
|
||||
```
|
||||
|
||||
* Get the loaded plugin instance via `context.request(SnarkHtml)`
|
||||
|
||||
## SNARK-html
|
||||
|
||||
SNARK-HTML module defines tools to work with HTML output format.
|
||||
|
||||
${modules}
|
@ -1,3 +1,3 @@
|
||||
kotlin.code.style=official
|
||||
|
||||
toolsVersion=0.15.2-kotlin-1.9.22
|
||||
toolsVersion=0.15.4-kotlin-2.0.0
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@ -1,5 +1,5 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
@ -20,6 +20,10 @@ pluginManagement {
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0"
|
||||
}
|
||||
|
||||
dependencyResolutionManagement {
|
||||
|
||||
val toolsVersion: String by extra
|
||||
|
Loading…
Reference in New Issue
Block a user