mirror of
https://code.castopod.org/adaures/castopod
synced 2025-04-23 01:01:20 +00: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
179 lines
2.6 KiB
CSS
179 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;
|
|
}
|