|
| 1 | +## :core |
| 2 | + |
| 3 | +This is the core of the library, published as the `dataframe-core` package. |
| 4 | +It contains the DataFrame API and its implementation, as well as plenty of JUnit tests. |
| 5 | + |
| 6 | +I/O operations are split off into other modules, like [:dataframe-excel](../dataframe-excel), |
| 7 | +or [:dataframe-jdbc](../dataframe-jdbc), however, this is has not happened yet for all operations |
| 8 | +(see [Issue #100](https://github.com/Kotlin/dataframe/issues/100)). |
| 9 | + |
| 10 | +At the moment, these integrations are still part of the `:core` module: |
| 11 | + |
| 12 | +- csv/tsv |
| 13 | +- html |
| 14 | +- json |
| 15 | +- jupyter |
| 16 | + |
| 17 | +### Korro code samples |
| 18 | + |
| 19 | +Code samples for the documentation website reside |
| 20 | +in [core/.../test/.../samples/api](./src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api) (for samples that depend solely on `dataframe-core`), |
| 21 | +and [tests/.../samples/api](../tests/src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api) (for samples can depend on other I/O modules) |
| 22 | +and they are copied over to Markdown files in [docs/StardustDocs/topics](../docs/StardustDocs/topics) |
| 23 | +by [Korro](https://github.com/devcrocod/korro). |
| 24 | + |
| 25 | +### Explainer dataframes |
| 26 | + |
| 27 | +Aside from code samples, `@TransformDataFrameExpressions` annotated test functions also generate sample |
| 28 | +dataframe HTML files that can be used as iFrames on the documentation website. |
| 29 | +They are tested, generated, and copied over to [docs/StardustDocs/snippets](../docs/StardustDocs/snippets) by |
| 30 | +our "explainer" [plugin callback proxy](./src/test/kotlin/org/jetbrains/kotlinx/dataframe/explainer), |
| 31 | +which hooks into [the TestBase class](./src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api/TestBase.kt) and |
| 32 | +retrieves the intermediate DataFrame expressions thanks to our "explainer" compiler plugin |
| 33 | +[:plugins:expressions-converter](../plugins/expressions-converter). |
| 34 | + |
| 35 | +We can also generate "normal" DataFrame samples for the website. This can be done using the |
| 36 | +[OtherSamples class](./src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api/OtherSamples.kt). Generated |
| 37 | +HTML files will be stored in [docs/StardustDocs/snippets/manual](../docs/StardustDocs/snippets/manual). |
| 38 | + |
| 39 | +### KDoc Preprocesor |
| 40 | + |
| 41 | +The code you're working on needs to be edited in [src](src), but the KDocs are processed by the |
| 42 | +[KDoc Preprocessor](https://github.com/Jolanrensen/docProcessorGradlePlugin) when the project is published (or the task |
| 43 | +is run manually). The generated sources with adjusted KDocs will be overwritten |
| 44 | +in [generated-sources](generated-sources). |
| 45 | +See the [KDoc Preprocessing Guide](../KDOC_PREPROCESSING.md) for more information. |
| 46 | + |
| 47 | +KDocs can also be exported to HTML, for them to be reused on the website. |
| 48 | +Elements annotated with `@ExportAsHtml` will have their generated content be copied over to |
| 49 | +[docs/StardustDocs/snippets/kdocs](../docs/StardustDocs/snippets/kdocs). |
0 commit comments