Skip to content

Commit

Permalink
docs(feat): Add TOC to dev docs and links in readme
Browse files Browse the repository at this point in the history
  • Loading branch information
FoxxMD committed Jul 12, 2024
1 parent 444d75c commit ca5cc3b
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 0 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,10 @@ On first startup you may need to authorize Spotify and/or Last.fm by visiting th

Having issues with connections or configuration? Check the [FAQ](/docsite/docs/FAQ.md) before creating an issue!

## Development

[Detailed architecture and development guides for Sources/Clients](/docsite/docs/development/dev-common.md)

## License

MIT
21 changes: 21 additions & 0 deletions docsite/docs/development/dev-common.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,27 @@ description: Start here for MS development

# Development

<details>

<summary>Table of Contents</summary>

<!-- TOC -->
* [Development](#development)
* [Architecture](#architecture)
* [Project Setup](#project-setup)
* [Common Development](#common-development)
* [Config](#config)
* [Concrete Class](#concrete-class)
* [Stages](#stages)
* [Stage: Build Data](#stage-build-data)
* [Stage: Check Connection](#stage-check-connection)
* [Stage: Test Auth](#stage-test-auth)
* [Play Object](#play-object)
* [Creating Clients and Sources](#creating-clients-and-sources)
<!-- TOC -->

</details>

## Architecture

Multi-scrobbler is written entirely in [Typescript](https://www.typescriptlang.org/). It consists of a backend and frontend. The backend handles all Source/Client logic, mounts web server endpoints that listen for Auth callbacks and Source ingress using [expressjs](https://expressjs.com/), and serves the frontend. The frontend is a standalone [Vitejs](https://vitejs.dev/) app that communicates via API to the backend in order to render the dashboard.
Expand Down
28 changes: 28 additions & 0 deletions docsite/docs/development/dev-source.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,34 @@ sidebar_position: 2
title: Source Development/Tutorial
---

<details>

<summary>Table of Contents</summary>

<!-- TOC -->
* [Scenario](#scenario)
* [Minimal Implementation](#minimal-implementation)
* [Define and Implement Config](#define-and-implement-config)
* [Create CoolPlayer Source](#create-coolplayer-source)
* [Initialize Source from Config](#initialize-source-from-config)
* [Implement Play Object Transform](#implement-play-object-transform)
* [Implement Stages](#implement-stages)
* [Build Data](#build-data)
* [Check Connection](#check-connection)
* [Test Auth](#test-auth)
* [Implement Polling](#implement-polling)
* [Further Implementation](#further-implementation)
* [Backlog](#backlog)
* [Other Source Types](#other-source-types)
* [Music History Source](#music-history-source)
* [Non-Polling Source](#non-polling-source)
* [Basic Source](#basic-source)
* [Discovery](#discovery)
* [Scrobbling](#scrobbling)
<!-- TOC -->

</details>

This document will provide a step-by-step guide for creating a (trivial) new Source in MS alongside describing what aspects of the Source need to be implemented based on the service you use. Before using this document you should review [Common Development](dev-common.md#common-development).

## Scenario
Expand Down
4 changes: 4 additions & 0 deletions docsite/src/pages/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,10 @@ On first startup you may need to authorize Spotify and/or Last.fm by visiting th

Having issues with connections or configuration? Check the [FAQ](docs/FAQ) before creating an issue!

## Development

[Detailed architecture and development guides for Sources/Clients](docs/development/dev-common)

## License

MIT

0 comments on commit ca5cc3b

Please sign in to comment.