Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Acast to podcast platforms #2

Merged
merged 4 commits into from
Sep 1, 2023
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .astropod/listenOn.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@
"fountain": "",
"ivoox": "",
"pocketcasts": "",
"deezer": ""
"deezer": "",
"acastPodcasts": ""
}
23 changes: 9 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<h1 align="center">Astropod | Free and Open Source Serverless Podcast</h1>
# Astropod | Free and Open Source Serverless Podcast

![Atropod](https://github.com/manuelernestog/manuelernestog/assets/53962116/3106bf65-37f9-427f-9b50-72d7ae22752f)

Expand All @@ -10,8 +10,7 @@ Astropod is a free and open-source self-hosting serverless podcast solution. It

View a live demo and a tutorial step by step of how deploy and configure your podcast with Astropod.

👉️ https://getastropod.netlify.app/

👉️ <https://getastropod.netlify.app>

---

Expand Down Expand Up @@ -39,17 +38,17 @@ Astropod is designed to work with any file storage solution.

You can host your podcast files in your own code base inside the folder `public/audio` and this will automatically work with [git LFS](https://git-lfs.com/) but free plans in GitHub and GitLab for LFS are limited so take that in mind.

You can also host your podcast files in any other cloud storage solution like DropBox, Google Drive, Cloudinary or on your own server. Once you upload your audio file you just need to copy the public URL of the audio file into your episode `AudioUrl` field.
You can also host your podcast files in any other cloud storage solution like DropBox, Google Drive, Cloudinary or on your own server. Once you upload your audio file you just need to copy the public URL of the audio file into your episode `AudioUrl` field.

For free unlimited cloud file storage we recommend use [Internet Archive ](https://archive.org/).
For free unlimited cloud file storage we recommend use [Internet Archive](https://archive.org/).

## Content Management System

Astropod is designed in such a way that you can use it directly from the source code by editing the configuration files found in the `/.astropod` folder and modifying the episode markdown files contained in the folder `/src/content/episode`.

In order to manage podcast in a simpler way, astropod is configured by default with the CMS Serverless [Decap](https://decapcms.org/) which allows collaborative work, authentication with email or other providers and simple management.

For the easiest use of Decap we recommend deploying Astropod on Netlify since the authentication system is integrated into the platform and is configured natively. If you would like to facilitate your own OAuth authentication rather than use Netlify's service or a client side flow like implicit or PKCE, you can use one of this [community-maintained projects ](https://decapcms.org/docs/external-oauth-clients/).
For the easiest use of Decap we recommend deploying Astropod on Netlify since the authentication system is integrated into the platform and is configured natively. If you would like to facilitate your own OAuth authentication rather than use Netlify's service or a client side flow like implicit or PKCE, you can use one of this [community-maintained projects](https://decapcms.org/docs/external-oauth-clients/).

The fact that Astropod comes configured by default with Decap does not mean that it is the only CMS with which it can work, if you prefer to use another CMS like Sanity, Wordpress, Strapi, Tina, or any other you can follow [Astro's integration guides](https://docs.astro.build/en/guides/cms/) to your integrate your favorite CMS.

Expand All @@ -59,9 +58,10 @@ The fact that Astropod comes configured by default with Decap does not mean that
- [Tailwind](https://tailwindcss.com/)
- [DaisyUI](https://daisyui.com/)

## Requirements.
## Requirements

- Node 16.16.0 or higher

## Commands

All commands are run from the root of the project, from a terminal:
Expand All @@ -75,10 +75,9 @@ All commands are run from the root of the project, from a terminal:

> These commands are using [`pnpm`][pnpm], but you can choose to use `npm` or `yarn` instead if you prefer.


## Project Structure

```php
```txt
├── src/
│ ├── components/ // UI components
│ ├── content/
Expand Down Expand Up @@ -108,15 +107,11 @@ Astropod is licensed under the MIT license — see the [LICENSE](https://github.

## Contributors

<a href="https://github.com/manuelernestog/astropod/graphs/contributors">
<img src="https://contrib.rocks/image?repo=manuelernestog/astropod" />
</a>
[![Manuel Ernestog](https://contrib.rocks/image?repo=manuelernestog/astropod)](https://github.com/manuelernestog/astropod/graphs/contributors)

Made with [contrib.rocks](https://contrib.rocks).

[integration]: https://github.com/delucis/astro-netlify-cms
[deploy]: https://app.netlify.com/start/deploy?repository=https://github.com/manuelernestog/astropod
[identity]: https://docs.netlify.com/visitor-access/identity/
[gateway]: https://docs.netlify.com/visitor-access/git-gateway/
[pnpm]: https://pnpm.io/

1 change: 1 addition & 0 deletions decap.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ export default function dcapconfig() {
label: "Listen On",
file: ".astropod/listenOn.config.json",
fields: [
{ name: "acastPodcasts", widget: "string", label: "Acast Podcasts", required: false },
{ name: "spotify", widget: "string", label: "Spotify", required: false },
{ name: "googlePodcast", widget: "string", label: "Google Podcast", required: false },
{ name: "applePodcast", widget: "string", label: "Apple Podcast", required: false },
Expand Down
2 changes: 1 addition & 1 deletion pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions src/components/headerCard/listenOnMenu.astro
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import AmazonMusicIcon from "../icons/amazonMusicIcon.astro";
import FountainIcon from "../icons/fountainIcon.astro";
import DeezerIcon from "../icons/deezerIcon.astro";
import EasyPodcastIcon from "../icons/easyPodcastIcon.astro";
import AcastPodcastsIcon from "../icons/acastPodcastsIcon.astro";

let hasListenOn = false

Expand Down Expand Up @@ -37,6 +38,7 @@ for (const key in listenOn) {
{listenOn.pocketcasts && (<li><a href={listenOn.pocketcasts}><PocketcastsIcon />Pocketcasts</a></li>)}
{listenOn.fountain && (<li><a href={listenOn.fountain}><FountainIcon />Fountain</a></li>)}
{listenOn.deezer && (<li><a href={listenOn.deezer}><DeezerIcon />Deezer</a></li>)}
{listenOn.acastPodcasts && (<li><a href={listenOn.acastPodcasts}><AcastPodcastsIcon />Acast Podcasts</a></li>)}
</ul>
</div>
)}
7 changes: 7 additions & 0 deletions src/components/icons/acastPodcastsIcon.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<svg width="24" height="24" viewBox="0 0 24 24">
<g fill="none" stroke="#818181" stroke-width=".2">
rdwz marked this conversation as resolved.
Show resolved Hide resolved
<path d="M13.1 13.3c.8 2.4 1.7 5.4 5 5 .8-.2 1.7-.8 1.6-1.8-.4 0-.8 0-1.2-.2-.7-.4-1-1.2-1.2-1.9a5379 5379 0 0 1-3.8-10.2 6 6 0 0 0-2 .3c-.9.4-1.4 1.2-1.7 2l-3 8c-.2.7-.5 1.6-1.1 2-.4.4-.8.5-1.3.6v1.2h5.3V17c-.5 0-1.4-.2-1.5-.7s.4-1.7.6-2.1h2.8c.7 0 1.2-.2 1.5-1"></path>
<path d="M9.5 12.1h3.1l-1.5-4.3-1.6 4.3"></path>
</g>
<path fill="#030303" d="M13.1 13.3c-.3.8-.8 1-1.5 1H8.8c-.2.4-.7 1.6-.6 2 .1.6 1 .7 1.4.8h.1v1.2H4.4v-1.1c.5-.2.9-.3 1.3-.6.6-.5.9-1.4 1.2-2.1l3-8a3 3 0 0 1 1.5-2 6 6 0 0 1 2.2-.3l3.7 10.2c.3.7.5 1.5 1.2 2h1.2v.1c0 1-.8 1.6-1.7 1.8-3.2.4-4-2.6-4.9-5Zm-3.6-1.2h3.1l-1.5-4.3Zm0 0"></path>
rdwz marked this conversation as resolved.
Show resolved Hide resolved
</svg>