diff --git a/hmml_to_html/hero.css b/hmml_to_html/hero.css
index 7a641f1..3a98ffa 100644
--- a/hmml_to_html/hero.css
+++ b/hmml_to_html/hero.css
@@ -1,80 +1,100 @@
-.title {
- background-color: #444;
+.title.hero,
+.title.hero .menu .refs,
+.title.hero .menu > .refs .ref,
+.markers_container.hero,
+.markers_container.hero > .marker {
+ background-color: #161616;
+ border-color: #000;
}
-.title > a {
- color: rgba(38, 139, 210, 1);
+.title.hero,
+.title.hero .menu > .refs .ref,
+.markers_container.hero > .marker > .content {
+ color: #8A877D;
}
-.title > a:visited {
- color: rgba(38, 139, 210, 1);
-}
-
-.title .refs_container {
+.title.hero .menu {
transition: box-shadow 800ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
box-shadow: inset 0 0 0 #B57714;
}
-.title .refs_container:hover {
- background-color: #666;
+.title.hero .menu:hover,
+.title.hero .menu > .refs .ref:hover,
+.markers_container.hero > .marker:hover > .content {
+
+ background-color: #222;
}
-.title .refs_container.current {
+.title.hero .menu.current {
box-shadow: inset 0px 0px 30px #B57714;
}
-.title .refs_container .refs {
- background-color: black;
- border: 3px solid #444;
- border-top: none;
-}
-
-.title .refs_container > .refs .ref {
- border-bottom: 1px solid rgb(51, 51, 51);
- color: white;
-}
-
-.title .refs_container > .refs .ref.current {
+.title.hero .menu > .refs .ref.current,
+.markers_container.hero > .marker .progress .content {
background-color: #8B3D23;
- color: black;
+ color: #000;
}
-.title .refs_container > .refs .ref:hover {
- background-color: #222;
+.title.hero .menu > .refs .ref .source,
+.title.hero .menu > .refs .ref .quote_byline {
+ color: #6B3E0B;
}
-.title .refs_container > .refs .ref.current:hover {
+.title.hero .menu > .refs .ref.current .source,
+.title.hero .menu > .refs .ref.current .quote_byline {
+ color: #111;
+}
+
+.title.hero .menu > .refs .ref.current:hover,
+.markers_container.hero > .marker:hover .faded .content {
background-color: rgba(139, 61, 35, 0.7);
}
-.title .refs_container > .refs .ref .source {
- color: #888;
+.title.hero .menu > .refs .ref .timecode:hover {
+ color: #FFF;
}
-.markers_container > .marker {
- border-bottom: 1px solid rgba(255, 255, 255, 0.05);
-}
-
-.markers_container > .marker:hover > .content {
- background-color: #222;
-}
-
-.markers_container > .marker:hover .faded .content {
- background-color: rgba(139, 61, 35, 0.7);
- color: black;
-}
-
-.markers_container > .marker > .content {
- background-color: #161616;
- color: #8A877D;
-}
-
-.markers_container > .marker.current > .content {
+/* Regular */
+.markers_container.hero > .marker.current > .content {
color: #B57714;
}
-.markers_container > .marker .progress .content {
- background-color: #8B3D23;
- color: black;
+/* Blackboard */
+.markers_container.hero > .marker.blackboard {
+ background: #000;
+ border-color: #161616;
}
+.markers_container.hero > .marker.blackboard > .content {
+ color: #D7BA82;
+}
+
+.markers_container.hero > .marker:hover.blackboard > .content {
+ background: #111;
+}
+
+/* Run */
+.markers_container.hero > .marker.run > .content,
+.markers_container.hero > .marker.run > .progress .content,
+.markers_container.hero > .marker:hover.run > .faded .content {
+ background: hsla(128, 16%, 64%, .2);
+ background-image: linear-gradient(to right, blue 4%, black 4%, black 96%, red 4%),
+ linear-gradient(to bottom, blue 4%, black 4%, black 96%, red 4%),
+ /*#236a58*/
+}
+
+.markers_container.hero > .marker.run > .content {
+ color: #D7BA82;
+}
+
+.markers_container.hero > .marker:hover.run > .content {
+ background: #111;
+}
+
+.markers_container.hero > .marker.run > .progress .content {
+ color: #D7BA82;
+}
+
+.markers_container.hero > .marker:hover.run > .faded .content {
+ background: #111;
+}
diff --git a/hmml_to_html/hmml_to_html.c b/hmml_to_html/hmml_to_html.c
index bfac585..d250590 100644
--- a/hmml_to_html/hmml_to_html.c
+++ b/hmml_to_html/hmml_to_html.c
@@ -468,7 +468,7 @@ GenerateTopicColours(buffer *Colour, char *Topic)
while(TopicsPtr - TopicsBuffer < TopicsLength)
{
- TopicsPtr += 39;
+ TopicsPtr += StringLength(".category.");
if(!StringsDifferL(SanitisePunctuation(Topic), TopicsPtr, StringLength(Topic)))
{
free(TopicsBuffer);
@@ -482,7 +482,7 @@ GenerateTopicColours(buffer *Colour, char *Topic)
++TopicsPtr;
}
- fprintf(TopicsFile, ".marker .content .categories .category.%s { border-color: %s; background: %s; }\n",
+ fprintf(TopicsFile, ".category.%s { border: 1px solid %s; background: %s; }\n",
SanitisePunctuation(Topic), StringToColourHash(Colour, Topic), StringToColourHash(Colour, Topic));
fclose(TopicsFile);
@@ -1309,7 +1309,7 @@ HMML.metadata.annotator);
"}\n"
"\n"
"function onRefChanged(ref) {\n"
-" var sourceMenus = document.querySelectorAll(\".refs_container\");\n"
+" var sourceMenus = document.querySelectorAll(\".menu\");\n"
" for (var MenuIndex = 0; MenuIndex < sourceMenus.length; ++MenuIndex)\n"
" {\n"
" var SetMenu = 0;\n"
diff --git a/hmml_to_html/mock_filter.html b/hmml_to_html/mock_filter.html
new file mode 100644
index 0000000..7c4e1d3
--- /dev/null
+++ b/hmml_to_html/mock_filter.html
@@ -0,0 +1,300 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ Coloured Nicks
+
+
+
+ Annotator: Miblo
+
+
+
+
+
+
1:00insofaras Some text referring to
Zilarrezko about this thing
1 regarding circuit design he saw in Code
2
+
+
1:00insofaras Some text referring to
Zilarrezko about this thing
1 regarding circuit design he saw in Code
2
+
+
+
1:00insofaras Some text referring to
Zilarrezko about this thing
1 regarding circuit design he saw in Code
2
+
+
+
+
2:56“Stay RISCY, everyone”α
+
+
2:56“Stay RISCY, everyone”α
+
+
+
2:56“Stay RISCY, everyone”α
+
+
+
+
5:12Matrix multiplication
β
+
+
5:12Matrix multiplication
β
+
+
+
5:12Matrix multiplication
β
+
+
+
+
10:24More stuff referring to the
milton forum post
3
+
+
10:24More stuff referring to the
milton forum post
3
+
+
+
10:24More stuff referring to the
milton forum post
3
+
+
+
+
10:42Some text. Simples!
+
+
10:42Some text. Simples!
+
+
+
10:42Some text. Simples!
+
+
+
+
12:34Something about the Handmade.Network4
+
+
12:34Something about the Handmade.Network4
+
+
+
12:34Something about the Handmade.Network4
+
+
+
+
16:32Something else about the Handmade.Network5
+
+
16:32Something else about the Handmade.Network5
+
+
+
16:32Something else about the Handmade.Network5
+
+
+
+
+
+
+
diff --git a/hmml_to_html/obbg.css b/hmml_to_html/obbg.css
index d8d55dd..e6f656c 100644
--- a/hmml_to_html/obbg.css
+++ b/hmml_to_html/obbg.css
@@ -10,51 +10,51 @@
border-color: #372F46;
}
-.title.obbg .refs_container {
+.title.obbg .menu {
transition: box-shadow 800ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
box-shadow: inset 0 0 0 #372F46;
}
-.title.obbg .refs_container:hover {
+.title.obbg .menu:hover {
background-color: #FFF8E7;
}
-.title.obbg > .refs_container.current {
+.title.obbg > .menu.current {
box-shadow: inset 0px 0px 30px #372F46;
}
-.title.obbg .refs_container .refs {
+.title.obbg .menu .refs {
background-color: #EEE;
border-color: #372F46;
}
-.title.obbg .refs_container > .refs .ref {
+.title.obbg .menu > .refs .ref {
border-color: #372F46;
color: #000000;
}
-.title.obbg .refs_container > .refs .ref.current {
+.title.obbg .menu > .refs .ref.current {
background-color: #372F46;
color: #FFFFFF;
}
-.title.obbg .refs_container > .refs .ref:hover {
+.title.obbg .menu > .refs .ref:hover {
background-color: #DDD;
}
-.title.obbg .refs_container > .refs .ref.current:hover {
+.title.obbg .menu > .refs .ref.current:hover {
background-color: #68557E;
}
-.title.obbg .refs_container > .refs .ref .source {
+.title.obbg .menu > .refs .ref .source {
color: #888;
}
-.title.obbg .refs_container > .refs .ref .quote_byline {
+.title.obbg .menu > .refs .ref .quote_byline {
color: #888;
}
-.title.obbg .refs_container > .refs .ref.current .source {
+.title.obbg .menu > .refs .ref.current .source {
color: #FFF8E7;
}
diff --git a/hmml_to_html/riscy.css b/hmml_to_html/riscy.css
index 7a5216c..8e07915 100644
--- a/hmml_to_html/riscy.css
+++ b/hmml_to_html/riscy.css
@@ -1,127 +1,92 @@
-.title.riscy {
+.title.riscy,
+.title.riscy > .menu .refs,
+.title.riscy > .menu .filter,
+.title.riscy > .menu > .refs .ref,
+.title.riscy > .menu > .filter .filter_mode,
+.markers_container.riscy,
+.markers_container.riscy > .marker {
background-color: #EEE;
- color: #000000;
border-color: rgba(246, 178, 26, 0.8);
}
-.title.riscy .refs_container {
+.title.riscy,
+.title.riscy > .menu > .refs .ref,
+.title.riscy > .menu > .refs .ref .timecode:hover::before,
+.markers_container.riscy > .marker > .content {
+ color: #000;
+}
+
+.title.riscy > .menu {
transition: box-shadow 800ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
box-shadow: inset 0 0 0 #2A3172;
}
-.title.riscy .refs_container:hover {
- background-color: #FFF8E7;
-}
-
-.title.riscy > .refs_container.current {
- box-shadow: inset 0px 0px 30px #2A3172;
-}
-
-.title.riscy .refs_container .refs {
- background-color: #EEE;
- border-color: rgba(246, 178, 26, 0.8);
-}
-
-.title.riscy .refs_container > .refs .ref {
- border-color: rgba(246, 178, 26, 0.8);
- color: #000000;
-}
-
-.title.riscy .refs_container > .refs .ref.current {
- background-color: #2A3172;
- color: #EEE;
-}
-
-.title.riscy .refs_container > .refs .ref:hover {
- background-color: #FFF8E7;
-}
-
-.title.riscy .refs_container > .refs .ref.current:hover {
- background-color: rgba(42, 49, 114, 0.7);
-}
-
-.title.riscy .refs_container > .refs .ref .source {
- color: #888;
-}
-
-.title.riscy .refs_container > .refs .ref .quote_byline {
- color: #888;
-}
-
-.title.riscy .refs_container > .refs .ref.current .source {
- color: #FFF8E7;
-}
-
-/* Regular */
-.markers_container.riscy {
- background-color: #EEE;
-}
-
-.markers_container.riscy > .marker {
- border-color: rgba(246, 178, 26, 0.8);
-}
-
+.title.riscy > .menu:hover,
+.title.riscy > .menu > .refs .ref:hover,
+.title.riscy > .menu > .filter .filter_mode:hover,
+.title.riscy > .menu > .filter .filter_content:hover,
.markers_container.riscy > .marker:hover > .content {
background-color: #FFF8E7;
}
+.title.riscy > .menu.current {
+ box-shadow: inset 0px 0px 30px #2A3172;
+}
+
+.title.riscy > .menu > .refs .ref.current,
+.title.riscy > .menu > .refs .ref.current .timecode:hover::before,
+.markers_container.riscy > .marker > .progress .content {
+ color: #FFF;
+}
+
+.title.riscy > .menu > .refs .ref.current,
+.markers_container.riscy > .marker > .progress .content {
+ background-color: rgb(42, 49, 114);
+}
+
+.title.riscy > .menu > .refs .ref .source,
+.title.riscy > .menu > .refs .ref .quote_byline,
+.title > .menu > .filter .filter_content.off .text {
+ color: #888;
+}
+
+.title.riscy > .menu > .refs .ref.current .source,
+.title.riscy > .menu > .refs .ref.current .quote_byline {
+ color: #FFF8E7;
+}
+
+.title.riscy > .menu > .refs .ref.current:hover,
.markers_container.riscy > .marker:hover > .faded .content {
background-color: rgba(42, 49, 114, 0.7);
- color: #FFFFFF;
-}
-
-.markers_container.riscy > .marker > .content {
- background-color: #EEE;
- color: #000000;
}
+/* Regular */
+.title.riscy > .menu > .refs .ref .ref_indices .timecode:hover,
.markers_container.riscy > .marker.current > .content {
color: #2A3172;
}
-.markers_container.riscy > .marker > .progress .content {
- background-color: #2A3172;
- color: #FFFFFF;
-}
-
/* Blackboard */
-.markers_container.riscy > .marker:hover.blackboard > .content {
- background-color: #FFF8E7;
- background-size: 12px 12px;
- background-image: linear-gradient(to right , rgba(51, 153, 255, .16) 1px, transparent 1px),
- linear-gradient(to bottom, rgba(51, 153, 255, .16) 1px, transparent 1px);
- background-position: center;
-}
-
+.markers_container.riscy > .marker.blackboard > .content,
+.markers_container.riscy > .marker.blackboard > .progress .content,
.markers_container.riscy > .marker:hover.blackboard > .faded .content {
- background-color: rgba(42, 49, 114, 0.7);
background-size: 12px 12px;
- background-image: linear-gradient(to right , rgba(0, 0, 0, .16) 1px, transparent 1px),
- linear-gradient(to bottom, rgba(0, 0, 0, .16) 1px, transparent 1px);
background-position: center;
- color: #FFFFFF;
}
.markers_container.riscy > .marker.blackboard > .content {
- background-color: #EEE;
- background-size: 12px 12px;
background-image: linear-gradient(to right , rgba(51, 153, 255, .16) 1px, transparent 1px),
linear-gradient(to bottom, rgba(51, 153, 255, .16) 1px, transparent 1px);
- background-position: center;
- color: #000000;
-}
-
-.markers_container.riscy > .marker.blackboard.current > .content {
- color: #2A3172;
}
.markers_container.riscy > .marker.blackboard > .progress .content {
- background-color: #2A3172;
- background-size: 12px 12px;
background-image: linear-gradient(to right , rgba(255, 255, 255, .16) 1px, transparent 1px),
linear-gradient(to bottom, rgba(255, 255, 255, .16) 1px, transparent 1px);
- background-position: center;
- color: #FFFFFF;
+}
+
+.markers_container.riscy > .marker:hover.blackboard > .faded .content {
+ background-image: linear-gradient(to right , rgba(0, 0, 0, .16) 1px, transparent 1px),
+ linear-gradient(to bottom, rgba(0, 0, 0, .16) 1px, transparent 1px);
}
/* TODO(matt):
diff --git a/hmml_to_html/style.css b/hmml_to_html/style.css
index e647390..7d7ac17 100644
--- a/hmml_to_html/style.css
+++ b/hmml_to_html/style.css
@@ -14,11 +14,11 @@
flex: 1 1;
}
-.title .refs_container {
+.title > .menu {
position: relative;
}
-.title .refs_container .mouse_catcher {
+.title > .menu .mouse_catcher {
position: absolute;
height: 100%;
width: 100%;
@@ -26,22 +26,28 @@
right: 0;
}
-.title .refs_container .refs {
- border: 2px solid;
- border-top:none;
+.title > .menu .refs,
+.title > .menu .filter {
+ border: 1px solid;
+ border-top: none;
+ display: none;
+ /* TODO(matt): Set the height to the player's height */
+ max-height: 512px;
+ overflow-y: auto;
position: absolute;
- top: 100%;
right: 0;
+ top: 100%;
width: 350px;
z-index: 1;
- display: none;
}
-.title .refs_container:hover .refs {
+.title > .menu:hover .refs,
+.title > .menu:hover .filter {
display: block;
}
-.title .refs_container > .refs .ref {
+.title > .menu > .refs .ref,
+.title > .menu > .refs .filter { /* TODO(matt): See what this is! */
border-bottom: 1px solid;
padding: 10px;
display: flex;
@@ -50,63 +56,119 @@
text-decoration: none;
}
-.title .refs_container > .refs .ref:last-child {
+.title > .menu > .refs .ref:last-child,
+.title > .menu > .refs .filter:last-child { /* TODO(matt): See what this is! */
border: none;
}
-.title .refs_container > .refs .ref .timecode {
+.title > .menu > .refs .ref .timecode {
+ cursor: pointer;
display: inline-block;
font-size: 12px;
padding: 0;
}
-.title .refs_container > .refs .ref .timecode:hover .time {
- text-decoration: underline;
+.title > .menu > .refs .ref .timecode:hover {
+ /* TODO(matt): background-image "play" symbol, right aligned */
}
-.title .refs_container > .refs .ref .ref_content {
+.title > .menu > .refs .ref .ref_content,
+.title > .menu > .refs .ref .filter_content {
margin-bottom: 8px;
width: 100%;
}
-.title .refs_container > .refs .ref .source {
+.title > .menu > .refs .ref .source,
+.title > .menu > .refs .ref .quote_byline {
font-size: 10px;
line-height: 8px;
}
-.title .refs_container > .refs .ref .ref_title {
+.title > .menu > .refs .ref .ref_title {
font-style: oblique;
}
-.title .refs_container > .refs .ref .quote_byline {
- font-size: 10px;
- line-height: 8px;
+.title > .menu > .refs .ref .quote_byline {
text-align: right;
width: 100%;
}
-.title .refs_container > .refs .ref .ref_indices {
+.title > .menu > .refs .ref .ref_indices {
text-align: center;
+ width: 100%;
}
-.title .refs_container > .refs .ref .ref_indices .timecode {
- display: inline-block;
- font-size: 12px;
-}
-
-.title .refs_container > .refs .ref .ref_indices .timecode:first-child::before {
+.title > .menu > .refs .ref .ref_indices .timecode:first-child::before {
content: "";
}
-.title .refs_container > .refs .ref .ref_indices .timecode::before {
+.title > .menu > .refs .ref .ref_indices .timecode::before {
content: "•";
margin: 0 4px;
}
-.title .refs_container > .refs .ref .timecode .ref_index {
+.title > .menu > .refs .ref .timecode .ref_index {
margin-right: 4px;
}
+.title > .menu > .filter .filter_mode {
+ cursor: pointer;
+ border-bottom: 1px solid;
+ text-align: center;
+ font-size: 12px;
+}
+
+.title > .menu > .filter .filter_mode.exclusive:after {
+ content: "exclusive";
+}
+
+.title > .menu > .filter .filter_mode.inclusive:after {
+ content: "inclusive";
+}
+
+.title > .menu > .filter .filter_title {
+ font-size: 9px;
+ text-align: center;
+}
+
+.title > .menu > .filter .filters {
+ display: flex;
+ flex-flow: row nowrap;
+}
+
+.title > .menu > .filter .filters > * {
+ width: 50%;
+}
+
+.title > .menu > .filter .filter_content {
+ cursor: pointer;
+}
+
+.title > .menu > .filter .filter_content .icon {
+ margin: 0 4px;
+}
+
+.title > .menu > .filter > .filter_media .filter_content .icon {
+ margin: 0 .5em 0 4px;
+}
+
+.title > .menu > .filter .filter_content.off .icon {
+ background: transparent;
+}
+
+.title > .menu > .filter .filter_content.rant .icon {
+ color: #F00;
+}
+
+.title > .menu > .filter .filter_media .filter_content.off .icon {
+ opacity: 0.32;
+}
+
+.title > .menu > .filter .filter_content.rant .text,
+.markers_container > .marker.rant .content {
+ font-variant: small-caps;
+}
+
.player_container {
display: flex;
flex-direction: row;
@@ -152,10 +214,6 @@
font-variant: normal;
}
-.markers_container > .marker.rant .content {
- font-variant: small-caps;
-}
-
.markers_container > .marker .progress {
position: absolute;
top: 0;
@@ -178,14 +236,29 @@
margin: 4px;
}
+.title > .menu > .filter .filter_content {
+ display: flex;
+}
+
+.title > .menu > .filter .filter_content .category,
.markers_container > .marker .content .categories .category {
- border: 1px solid;
border-radius: 50%;
height: 5px;
- margin-left: 2px;
width: 5px;
}
+.title > .menu > .filter .filter_content .category.off {
+ background: transparent;
+}
+
+.markers_container > .marker .content .categories .category {
+ margin-left: 2px;
+}
+
+.title > .menu > .filter .filter_content .icon {
+ margin-right: 8px;
+}
+
/* CUSTOM PAGE STYLE */
body {
@@ -195,3 +268,10 @@ body {
margin: 0;
padding: 0;
}
+
+/*
+Open menu: ▾ ▾
+Open link in new tab: ⤻ or &10559; or &8599; or ⭷
+Play from timecode: ⏵ (or, if ↓ ▸)
+Playable from timecode: ▹
+ */