142 lines
4.6 KiB
Markdown
142 lines
4.6 KiB
Markdown
# dda-masto-embed
|
|
![build](https://github.com/DomainDrivenArchitecture/dda-masto-embed/workflows/build-it/badge.svg)
|
|
|
|
[<img src="https://meissa-gmbh.de/img/community/Mastodon_Logotype.svg" width=20 alt="team@social.meissa-gmbh.de"> team@social.meissa-gmbh.de](https://social.meissa-gmbh.de/@team) | [Website & Blog](https://domaindrivenarchitecture.org)
|
|
|
|
## In brief
|
|
|
|
dda-masto-embed embedd either your timeline or answers to an specific post on your website.
|
|
* Uses JS, **no intermediate server** required,
|
|
* in answer mode you can decide to show only favorited answers in order to do upfront moderation
|
|
* example for embedding a timeline at [meissa-gmbh.de/news](https://meissa-gmbh.de/pages/news/)
|
|
* example for embedding answers to a specific post at [meissa-gmbh.de/sustainibility_microplastic](https://meissa-gmbh.de/pages/about_meissa/gemeinwohl/sustainability_microplastic/)
|
|
* Download latest version at:
|
|
* [dda-masto-embed.js](https://domaindrivenarchitecture.org/downloads/dda-masto-embed.js)
|
|
* [dda-masto-embed.js.sha256](https://domaindrivenarchitecture.org/downloads/dda-masto-embed.js.sha256)
|
|
* [dda-masto-embed.js.sha512](https://domaindrivenarchitecture.org/downloads/dda-masto-embed.js.sha512)
|
|
* It is **OpenSource** - published under the Apache License, Version 2.0
|
|
|
|
## Development & mirrors
|
|
Development happens at: https://repo.prod.meissa.de/meissa/dda-masto-embed
|
|
|
|
Mirrors are:
|
|
* https://codeberg.org/meissa/dda-masto-embed (issues and PR)
|
|
* https://gitlab.com/domaindrivenarchitecture/dda-masto-embed (CI)
|
|
* https://github.com/DomainDrivenArchitecture/dda-masto-embed
|
|
|
|
## How it looks
|
|
![masto-embed-example.png](doc/masto-embed-example.png)
|
|
|
|
## Include a timeline
|
|
|
|
Including a timeline needs the following html. The div with id `masto-embed` configures the timeline to be shown.
|
|
We use bootstrap for rough styling. More styling is up to you at the moment, help is welcome :-)
|
|
|
|
```
|
|
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>masto-embed</title>
|
|
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css"
|
|
integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk"
|
|
crossorigin="anonymous">
|
|
</head>
|
|
<body>
|
|
<div id="masto-embed"
|
|
account_name="team"
|
|
host_url="https://social.meissa-gmbh.de">
|
|
Here the timeline will appear.
|
|
</div>
|
|
<script src="https://domaindrivenarchitecture.org/downloads/dda-masto-embed.js"></script>
|
|
</body>
|
|
</html>
|
|
```
|
|
|
|
Reference:
|
|
* `id` has to be `masto-embed`
|
|
* `account_name` is the name of your account.
|
|
* `host_url` the url of your mastodon instance.
|
|
|
|
|
|
## Using in reply mode
|
|
|
|
Including replies of one of your posts will work as follows:
|
|
|
|
```
|
|
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>masto-embed</title>
|
|
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css"
|
|
integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk"
|
|
crossorigin="anonymous">
|
|
</head>
|
|
<body>
|
|
<div id="masto-embed"
|
|
account_name="team"
|
|
replies_to="107937234506182462"
|
|
filter_favorited=false
|
|
host_url="https://social.meissa-gmbh.de">
|
|
Here the timeline will appear.
|
|
</div>
|
|
<script src="https://domaindrivenarchitecture.org/downloads/dda-masto-embed.js"></script>
|
|
</body>
|
|
</html>
|
|
```
|
|
Reference:
|
|
* `id` has to be `masto-embed`
|
|
* `account_name` is the name of your account.
|
|
* `host_url` the url of your mastodon instance.
|
|
* `replies_to` the id of your post.
|
|
* `filter_favorited=<true|false>` true will show only favorited replies, false will show every answer.
|
|
|
|
|
|
## Dev setup
|
|
|
|
```
|
|
npm install -g npx
|
|
npm install -g shadow-cljs
|
|
npm install -g source-map-support --save-dev
|
|
npm install
|
|
shadow-cljs watch frontend
|
|
```
|
|
|
|
open browser at http://localhost:8080
|
|
|
|
Connect your repl for :frontend
|
|
|
|
|
|
## Run the tests
|
|
|
|
```
|
|
shadow-cljs compile test
|
|
```
|
|
|
|
## Releasing
|
|
### prod release
|
|
```
|
|
#adjust version
|
|
vi package.json
|
|
git commit -am 'releasing'
|
|
git tag -am 'releasing' <version>
|
|
git push --follow-tags
|
|
|
|
# Bump version
|
|
vi package.json
|
|
git commit -am "version bump" && git push
|
|
```
|
|
|
|
## Development & mirrors
|
|
Development happens at: https://repo.prod.meissa.de/meissa/dda-masto-embed
|
|
|
|
Mirrors are:
|
|
* https://gitlab.com/domaindrivenarchitecture/dda-masto-embed (CI issues and PR)
|
|
* https://github.com/DomainDrivenArchitecture/dda-masto-embed
|
|
|
|
## License
|
|
|
|
Copyright © 2023 meissa GmbH
|
|
Licensed under the [Apache License, Version 2.0](LICENSE) (the "License")
|
|
Pls. find licenses of our subcomponents [here](doc/SUBCOMPONENT_LICENSE)
|