Changes
Page history
Update Decker Project Structure
authored
Dec 03, 2020
by
Armin Bernstetter
Show whitespace changes
Inline
Side-by-side
Decker-Project-Structure.md
View page @
73eca4cd
# Decker Project Structure
This page gives a quick overview over the structure of the Decker repository.
This page gives a quick overview over the structure of the Decker repository.
Standard files such as
`makefile`
or
`Dockerfile`
are not expanded upon here.
Standard files such as
`makefile`
or
`Dockerfile`
are not expanded upon here.
...
@@ -18,28 +16,28 @@ Files that are needed by stack:
...
@@ -18,28 +16,28 @@ Files that are needed by stack:
## Files that are used by editor extensions but otherwise irrelevant
## Files that are used by editor extensions but otherwise irrelevant
- hie.yaml
-
`
hie.yaml
`
- brittany.yaml
-
`
brittany.yaml
`
- floskell.yaml
-
`
floskell.yaml
`
## app
##
`
app
`
Contains only the file `Decker.hs` which is the `main` Haskell file describing the behavior of the application `Decker`.
Contains only the file `Decker.hs` which is the `main` Haskell file describing the behavior of the application `Decker`.
## attic
##
`
attic
`
Outdated/obsolete files that might become relevant again at some point in time.
Outdated/obsolete files that might become relevant again at some point in time.
## bin
##
`
bin
`
- `build.ps1`: The main build file for the Windows executable. (see also `makefile`)
- `build.ps1`: The main build file for the Windows executable. (see also `makefile`)
- `check-formatting.sh`: An outdated file checking the formatting of the Haskell code
- `check-formatting.sh`: An outdated file checking the formatting of the Haskell code
## doc
##
`
doc
`
Internal discussions and documentation of development plans/goals
Internal discussions and documentation of development plans/goals
## resource
##
`
resource
`
The resources needed by decker at runtime. This directory gets zipped and appended to the `Decker` executable.
The resources needed by decker at runtime. This directory gets zipped and appended to the `Decker` executable.
...
@@ -48,7 +46,7 @@ The resources needed by decker at runtime. This directory gets zipped and append
...
@@ -48,7 +46,7 @@ The resources needed by decker at runtime. This directory gets zipped and append
- `template`: Template files needed by Decker at runtime e.g. when building the HTML files from Markdown
- `template`: Template files needed by Decker at runtime e.g. when building the HTML files from Markdown
## src
##
`
src
`
The main Haskell source code directory.
The main Haskell source code directory.
...
@@ -58,97 +56,19 @@ TODO: Detailed breakdown of the source code?
...
@@ -58,97 +56,19 @@ TODO: Detailed breakdown of the source code?
Haskell code specific to the respective operating system.
Haskell code specific to the respective operating system.
## test
##
`
test
`
Includes Haskell test code as well as several slide decks showcasing Decker features.
Includes Haskell test code as well as several slide decks showcasing Decker features.
Decker uses the [`Hspec` testing framework for Haskell](https://hspec.github.io/). `Spec.hs` is the main source file.
Decker uses the [`Hspec` testing framework for Haskell](https://hspec.github.io/). `Spec.hs` is the main source file.
## third-party
##
`
third-party
`
Third-party submodules used by decker.
Third-party submodules used by decker.
- `symlinks.mk`: Prepares/builds and copies third-party software to `resource/support/vendor`. Is called by `makefile``
- `symlinks.mk`: Prepares/builds and copies third-party software to `resource/support/vendor`. Is called by `makefile``
-
`vendor.ps1`
: A PowerShell script analogous to
`symlinks.mk`
. Called by
`bin/build.ps1`
-
`vendor.ps1`
: A PowerShell script analogous to
`symlinks.mk`
. Called by
`bin/build.ps1`
## users-guide
##
`
users-guide
`
A WIP guide for Decker that can be built as
`pdf`
and/or
`html`
file using the
`makefile`
which calls
`pandoc`
.
A WIP guide for Decker that can be built as
`pdf`
and/or
`html`
file using the
`makefile`
which calls
`pandoc`
.
\ No newline at end of file
```
.
├── app
│ └── Decker.hs
├── attic
│ ├── Cache.hs
│ ├── Dachdecker.hs
│ └── help-page.md
├── bin
│ ├── build.ps1
│ └── check-formatting.sh
├── doc
│ ├── electron-decker-ui.png
│ ├── future-world.md
│ ├── gui-architecture-page.md
│ ├── haskell-resources-page.md
│ ├── media-filter-report-page.md
│ ├── media-filtering-workshop-2020-02.md
│ ├── packaging-page.md
│ ├── quiz-page.md
│ ├── readme.md
│ ├── release-policy-page.md
│ ├── resource-handling-page.md
│ └── smart-image-urls-page.md
├── resource
│ ├── example
│ ├── support
│ ├── template
│ └── tutorial
├── src
│ └── Text
├── src-unix
│ └── System
├── src-win
│ └── System
├── test
│ ├── decks
│ ├── minimal
│ ├── static
│ ├── IncludeTests.hs
│ ├── MediaTests.hs
│ ├── MetaTests.hs
│ ├── ShortLinkTests.hs
│ ├── Spec.hs
│ ├── WatchTests.hs
│ ├── minimal.zip
│ └── reload.html
├── third-party
│ ├── Font-Awesome
│ ├── MathJax
│ ├── jquery
│ ├── reveal.js
│ ├── thebelab
│ ├── vanilla-lazyload
│ ├── water.css
│ ├── symlinks.mk
│ └── vendor.ps1
├── users-guide
│ ├── decker-d-gray.svg
│ ├── decker-users-guide.css
│ ├── decker-users-guide.html
│ ├── decker-users-guide.md
│ ├── decker-users-guide.pdf
│ └── makefile
├── Dockerfile
├── Dockerfile-prebuilt
├── LICENSE
├── Setup.hs
├── brittany.yaml
├── decker.yaml
├── floskell.json
├── hie.yaml
├── makefile
├── package.yaml
├── readme.md
├── stack.yaml
```
\ No newline at end of file