mirror of
https://github.com/ad-aures/castopod.git
synced 2026-04-04 15:26:43 +02:00
- add "ActivityPub" library to handle server to server federation and basic
client to server protocols using activitypub:
- add webfinger endpoint to look for actor
- add actor definition with inbox / outbox / followers
- remote follow an actor
- create notes with possible preview cards
- interract with favourites, reblogs and replies
- block incoming actors and/or domains
- broadcast/schedule activities to fediverse followers using a cron task
- For castopod, the podcast is the actor:
- overwrite the activitypub library for castopod's specific needs
- perform basic interactions administrating a podcast to interact with fediverse users:
- create notes with episode attachment
- favourite and share a note + reply
- add specific castopod_namespaces for podcasts and episodes definitions
- overwrite CodeIgniter's Route service to include alternate-content option for
activitystream requests
- update episode publication logic:
- remove publication inputs in create / edit episode form
- publish / schedule or unpublish an episode after creation
- the podcaster publishes a note when publishing an episode
- Javascript / Typescript modules:
- fix Dropdown.ts to keep dropdown menu in foreground
- add Modal.ts for funding links modal
- add Toggler.ts to toggle various css states in ui
- User Interface:
- update tailwindcss to v2
- use castopod's pine and rose colors
- update public layout to a 3 column layout
- add pages in public for podcast activity, episode list and notes
- update episode page to include linked notes
- remove previous and next episodes from episode pages
- show different public views depending on whether user is authenticated or not
- use Kumbh Sans and Montserrat fonts
- update CodeIgniter's config files
- with CodeIgniter's new requirements, update docker environments are now based on
php v7.3 image
- move Image entity to Libraries
- update composer and npm packages to latest versions
closes #69 #65 #85, fixes #51 #91 #92 #88
178 lines
2.6 KiB
CSS
178 lines
2.6 KiB
CSS
body {
|
|
height: 100%;
|
|
background: #fafafa;
|
|
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
color: #777;
|
|
font-weight: 300;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
h1 {
|
|
font-weight: lighter;
|
|
letter-spacing: 0.8;
|
|
font-size: 3rem;
|
|
color: #222;
|
|
margin: 0;
|
|
}
|
|
h1.headline {
|
|
margin-top: 20%;
|
|
font-size: 5rem;
|
|
}
|
|
.text-center {
|
|
text-align: center;
|
|
}
|
|
p.lead {
|
|
font-size: 1.6rem;
|
|
}
|
|
.container {
|
|
max-width: 75rem;
|
|
margin: 0 auto;
|
|
padding: 1rem;
|
|
}
|
|
.header {
|
|
background: #85271f;
|
|
color: #fff;
|
|
}
|
|
.header h1 {
|
|
color: #fff;
|
|
}
|
|
.header p {
|
|
font-size: 1.2rem;
|
|
margin: 0;
|
|
line-height: 2.5;
|
|
}
|
|
.header a {
|
|
color: rgba(255, 255, 255, 0.5);
|
|
margin-left: 2rem;
|
|
display: none;
|
|
text-decoration: none;
|
|
}
|
|
.header:hover a {
|
|
display: inline;
|
|
}
|
|
|
|
.footer .container {
|
|
border-top: 1px solid #e7e7e7;
|
|
margin-top: 1rem;
|
|
text-align: center;
|
|
}
|
|
|
|
.source {
|
|
background: #333;
|
|
color: #c7c7c7;
|
|
padding: 0.5em 1em;
|
|
border-radius: 5px;
|
|
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
|
|
margin: 0;
|
|
overflow-x: scroll;
|
|
}
|
|
.source span.line {
|
|
line-height: 1.4;
|
|
}
|
|
.source span.line .number {
|
|
color: #666;
|
|
}
|
|
.source .line .highlight {
|
|
display: block;
|
|
background: #555;
|
|
color: #fff;
|
|
}
|
|
.source span.highlight .number {
|
|
color: #fff;
|
|
}
|
|
|
|
.tabs {
|
|
list-style: none;
|
|
list-style-position: inside;
|
|
margin: 0;
|
|
padding: 0;
|
|
margin-bottom: -1px;
|
|
}
|
|
.tabs li {
|
|
display: inline;
|
|
}
|
|
.tabs a:link,
|
|
.tabs a:visited {
|
|
padding: 0rem 1rem;
|
|
line-height: 2.7;
|
|
text-decoration: none;
|
|
color: #a7a7a7;
|
|
background: #f1f1f1;
|
|
border: 1px solid #e7e7e7;
|
|
border-bottom: 0;
|
|
border-top-left-radius: 5px;
|
|
border-top-right-radius: 5px;
|
|
display: inline-block;
|
|
}
|
|
.tabs a:hover {
|
|
background: #e7e7e7;
|
|
border-color: #e1e1e1;
|
|
}
|
|
.tabs a.active {
|
|
background: #fff;
|
|
}
|
|
.tab-content {
|
|
background: #fff;
|
|
border: 1px solid #efefef;
|
|
}
|
|
.content {
|
|
padding: 1rem;
|
|
}
|
|
.hide {
|
|
display: none;
|
|
}
|
|
|
|
.alert {
|
|
margin-top: 2rem;
|
|
display: block;
|
|
text-align: center;
|
|
line-height: 3;
|
|
background: #d9edf7;
|
|
border: 1px solid #bcdff1;
|
|
border-radius: 5px;
|
|
color: #31708f;
|
|
}
|
|
ul,
|
|
ol {
|
|
line-height: 1.8;
|
|
}
|
|
|
|
table {
|
|
width: 100%;
|
|
overflow: hidden;
|
|
}
|
|
th {
|
|
text-align: left;
|
|
border-bottom: 1px solid #e7e7e7;
|
|
padding-bottom: 0.5rem;
|
|
}
|
|
td {
|
|
padding: 0.2rem 0.5rem 0.2rem 0;
|
|
}
|
|
tr:hover td {
|
|
background: #f1f1f1;
|
|
}
|
|
td pre {
|
|
white-space: pre-wrap;
|
|
}
|
|
|
|
.trace a {
|
|
color: inherit;
|
|
}
|
|
.trace table {
|
|
width: auto;
|
|
}
|
|
.trace tr td:first-child {
|
|
min-width: 5em;
|
|
font-weight: bold;
|
|
}
|
|
.trace td {
|
|
background: #e7e7e7;
|
|
padding: 0 1rem;
|
|
}
|
|
.trace td pre {
|
|
margin: 0;
|
|
}
|
|
.args {
|
|
display: none;
|
|
}
|