Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bryanwilhite/songhay.publications

Core reusable definitions for Songhay Studio Publications
https://github.com/bryanwilhite/songhay.publications

cloneextensions csharp eleventy epub-generation markdig markdown songhaycore

Last synced: about 1 month ago
JSON representation

Core reusable definitions for Songhay Studio Publications

Awesome Lists containing this project

README

        

# Songhay.Publications

**NuGet package πŸ“¦:** [`Songhay.Publications`](https://www.nuget.org/packages/Songhay.Publications/)

**Documentation πŸ“š:** [`Songhay.Publications` API](https://bryanwilhite.github.io/Songhay.Publications/api/)

## core reusable definitions for Songhay Studio Publications

Selected Songhay Studio Publications are based on automation β€˜pipelines’ for static HTML and EPUB. The fundamental document format of these pipelines is markdown. It follows that the `MarkdownEntry` [class](./Songhay.Publications/Models/MarkdownEntry.cs) is a core definition of this studio.

Architecturally, the `MarkdownEntryExtensions` [class](./Songhay.Publications/Extensions/MarkdownEntryExtensions.cs) augment the `MarkdownEntry` to define [eleventy](https://www.11ty.io/)-flavored methods for generating a draft and publishing.

## `GenericWeb` models and extensions

This repo also contains the historical class definitions for a Studio project called `GenericWeb`. This was a turn-of-century, static-file generation solution using SQL-Server-based XML as a fundamental document format.

The SQL Server _schema_ for `GenericWeb` features:

- the `Segment` [[class](./Songhay.Publications/Models/Segment.cs)]
- the `Document` [[class](./Songhay.Publications/Models/Document.cs)]
- the `Fragment` [[class](./Songhay.Publications/Models/Fragment.cs)]

These class definitions are still useful (without much SQL Server or Entity Framework). In fact, the Front Matter of `MarkdownEntry` is based on the GenericWeb Document.

## Studio packages dependent on `Songhay.Publications`

```mermaid
graph BT
pubs[`Songhay.Publications`]

pubs-->1[`Songhay.Player`]
pubs-->2[`Songhay.Publications.Analytics`]
pubs-->3[`Songhay.Publications.KinteSpace`]
```

@[BryanWilhite](https://twitter.com/BryanWilhite)