cinera.c: Prev / Next Episode Links

Also fix the inotify loop, augment the index (the .metadata files) to
contain data useful for insobot, and futureproof UpgradeDB()

Flags:

    * -e Examine Index
        Just pop an -e on the end of your usual list of flags
    * -u Update Interval (was -U)
This commit is contained in:
Matt Mascarenhas 2018-02-21 21:50:23 +00:00
parent bbd1d657a7
commit c5bc487313
2 changed files with 1265 additions and 493 deletions

File diff suppressed because it is too large Load Diff

View File

@ -415,19 +415,19 @@
} }
.cineraMenus > .menu > .filter_container .filter_content, .cineraMenus > .menu > .filter_container .filter_content,
.cineraPlayerContainer .markers_container > .marker .cineraContent .cineraCategories { .cineraPlayerContainer .markers_container > .markers .marker .cineraContent .cineraCategories {
cursor: pointer; cursor: pointer;
display: flex; display: flex;
align-items: center; align-items: center;
} }
.cineraMenus > .menu > .filter_container .filter_content .icon, .cineraMenus > .menu > .filter_container .filter_content .icon,
.cineraPlayerContainer .markers_container > .marker .cineraContent .cineraCategories .categoryMedium { .cineraPlayerContainer .markers_container > .markers .marker .cineraContent .cineraCategories .categoryMedium {
font-style: normal; font-style: normal;
margin-left: 4px; margin-left: 4px;
} }
.cineraPlayerContainer .markers_container > .marker .cineraContent .cineraCategories .categoryMedium + .categoryMedium { .cineraPlayerContainer .markers_container > .markers .marker .cineraContent .cineraCategories .categoryMedium + .categoryMedium {
margin-left: 2px; margin-left: 2px;
} }
@ -436,18 +436,18 @@
} }
.cineraMenus > .menu > .filter_container .filter_content.rant .icon, .cineraMenus > .menu > .filter_container .filter_content.rant .icon,
.cineraPlayerContainer .markers_container > .marker .cineraContent .cineraCategories .categoryMedium.rant { .cineraPlayerContainer .markers_container > .markers .marker .cineraContent .cineraCategories .categoryMedium.rant {
color: #BA0001; color: #BA0001;
} }
.cineraMenus > .menu > .filter_container .filter_media .filter_content.off .icon, .cineraMenus > .menu > .filter_container .filter_media .filter_content.off .icon,
.cineraPlayerContainer .markers_container > .marker .cineraContent .cineraCategories .categoryMedium.off { .cineraPlayerContainer .markers_container > .markers .marker .cineraContent .cineraCategories .categoryMedium.off {
opacity: 0.32; opacity: 0.32;
} }
.cineraMenus > .menu > .filter_container .filter_content.rant .cineraText, .cineraMenus > .menu > .filter_container .filter_content.rant .cineraText,
.cineraPlayerContainer .markers_container > .marker.rant .cineraContent, .cineraPlayerContainer .markers_container > .markers .marker.rant .cineraContent,
.cineraPlayerContainer .markers_container > .marker.off_rant .cineraContent { .cineraPlayerContainer .markers_container > .markers .marker.off_rant .cineraContent {
font-variant: small-caps; font-variant: small-caps;
} }
@ -467,7 +467,42 @@
position: relative; position: relative;
} }
.cineraPlayerContainer .markers_container > .marker { .cineraPlayerContainer .markers_container > .episodeMarker {
text-decoration: none;
display: flex;
font-size: 11px;
font-weight: bold;
}
.cineraPlayerContainer .markers_container > a.episodeMarker {
cursor: pointer;
}
.cineraPlayerContainer .markers_container > div.episodeMarker {
cursor: default;
}
.cineraPlayerContainer .markers_container > .episodeMarker div {
margin: auto;
text-align: center;
}
.cineraPlayerContainer .markers_container > .episodeMarker div:not(:nth-of-type(2)) {
font-size: 15px;
font-weight: normal;
}
.cineraPlayerContainer .markers_container > .episodeMarker div:nth-of-type(2) {
padding: 0 5px;
flex-grow: 1;
}
.cineraPlayerContainer .markers_container > .episodeMarker.first,
.cineraPlayerContainer .markers_container > .episodeMarker.prev {
border-bottom: 4px double;
}
.cineraPlayerContainer .markers_container > .markers .marker {
border-bottom: 1px solid; border-bottom: 1px solid;
position: relative; position: relative;
cursor: pointer; cursor: pointer;
@ -475,23 +510,36 @@
transition: max-height .32s; transition: max-height .32s;
} }
.cineraPlayerContainer .markers_container > .marker.skip { .cineraPlayerContainer .markers_container > .markers .marker:last-of-type {
max-height: 0; border-bottom: none;
transition: max-height .32s;
overflow: hidden;
} }
.cineraPlayerContainer .markers_container > .marker .cineraContent { .cineraPlayerContainer .markers_container > .episodeMarker.next,
.cineraPlayerContainer .markers_container > .episodeMarker.last {
border-top: 4px double;
}
.cineraPlayerContainer .markers_container > .episodeMarker,
.cineraPlayerContainer .markers_container > .markers .marker .cineraContent {
box-sizing: border-box; box-sizing: border-box;
display: block;
font-size: 14px;
padding: 5px; padding: 5px;
width: 320px; width: 320px;
word-wrap: break-word; word-wrap: break-word;
} }
.cineraPlayerContainer .markers_container > .marker.authored .cineraContent .author, .cineraPlayerContainer .markers_container > .markers .marker .cineraContent {
.cineraPlayerContainer .markers_container > .marker.off_authored .cineraContent .author { display: block;
font-size: 14px;
}
.cineraPlayerContainer .markers_container > .markers .marker.skip {
max-height: 0;
transition: max-height .32s;
overflow: hidden;
}
.cineraPlayerContainer .markers_container > .markers .marker.authored .cineraContent .author,
.cineraPlayerContainer .markers_container > .markers .marker.off_authored .cineraContent .author {
font-style: normal; font-style: normal;
font-variant: normal; font-variant: normal;
font-weight: bold; font-weight: bold;
@ -499,17 +547,17 @@
.cineraMenus > .menu > .refs .ref .ref_title, .cineraMenus > .menu > .refs .ref .ref_title,
.cineraMenus .filter_content.authored .cineraText, .cineraMenus .filter_content.authored .cineraText,
.cineraPlayerContainer .markers_container > .marker.authored, .cineraPlayerContainer .markers_container > .markers .marker.authored,
.cineraPlayerContainer .markers_container > .marker.off_authored { .cineraPlayerContainer .markers_container > .markers .marker.off_authored {
font-style: oblique !important; font-style: oblique !important;
} }
.cineraPlayerContainer .markers_container > .marker .cineraContent sup { .cineraPlayerContainer .markers_container > .markers .marker .cineraContent sup {
font-style: normal; font-style: normal;
font-variant: normal; font-variant: normal;
} }
.cineraPlayerContainer .markers_container > .marker .progress { .cineraPlayerContainer .markers_container > .markers .marker .progress {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
@ -518,7 +566,7 @@
overflow: hidden; overflow: hidden;
} }
.cineraPlayerContainer .markers_container > .marker .timecode { .cineraPlayerContainer .markers_container > .markers .marker .timecode {
font-size: 9px; font-size: 9px;
font-style: normal; font-style: normal;
padding-right: 8px; padding-right: 8px;
@ -526,7 +574,7 @@
top: -2px; top: -2px;
} }
.cineraPlayerContainer .markers_container > .marker .cineraContent .cineraCategories { .cineraPlayerContainer .markers_container > .markers .marker .cineraContent .cineraCategories {
display: inline-flex; display: inline-flex;
margin: 4px; margin: 4px;
} }
@ -536,18 +584,18 @@
} }
.cineraMenus > .menu > .filter_container .filter_content .category, .cineraMenus > .menu > .filter_container .filter_content .category,
.cineraPlayerContainer .markers_container > .marker .cineraContent .cineraCategories .category { .cineraPlayerContainer .markers_container > .markers .marker .cineraContent .cineraCategories .category {
border-radius: 50%; border-radius: 50%;
height: 5px; height: 5px;
width: 5px; width: 5px;
} }
.cineraMenus > .menu > .filter_container .filter_content .category.off, .cineraMenus > .menu > .filter_container .filter_content .category.off,
.cineraPlayerContainer .markers_container > .marker .cineraContent .cineraCategories .category.off { .cineraPlayerContainer .markers_container > .markers .marker .cineraContent .cineraCategories .category.off {
background: transparent; background: transparent;
} }
.cineraPlayerContainer .markers_container > .marker .cineraContent .cineraCategories .category { .cineraPlayerContainer .markers_container > .markers .marker .cineraContent .cineraCategories .category {
margin-left: 2px; margin-left: 2px;
} }