hmml_to_html.c: Sanitise the refs menu [#15]
Also update hmmlib.h for the new marker parameter
This commit is contained in:
parent
c31b486cfa
commit
678dc869c5
Binary file not shown.
|
@ -23,6 +23,12 @@ typedef struct
|
|||
int Size;
|
||||
} buffer;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char *Source;
|
||||
char *RefTitle;
|
||||
} ref_info;
|
||||
|
||||
void
|
||||
ClaimBuffer(char *MemoryArena, int *ClaimedMemory, buffer *Buffer, int Size)
|
||||
{
|
||||
|
@ -32,6 +38,30 @@ ClaimBuffer(char *MemoryArena, int *ClaimedMemory, buffer *Buffer, int Size)
|
|||
Buffer->Ptr = Buffer->Location;
|
||||
}
|
||||
|
||||
ref_info
|
||||
ParseRef(HMML_Reference RefInput)
|
||||
{
|
||||
ref_info Info;
|
||||
if(RefInput.author)
|
||||
{
|
||||
Info.Source = RefInput.author;
|
||||
Info.RefTitle = RefInput.title;
|
||||
return Info;
|
||||
}
|
||||
else if(RefInput.page)
|
||||
{
|
||||
Info.Source = RefInput.site;
|
||||
Info.RefTitle = RefInput.page;
|
||||
return Info;
|
||||
}
|
||||
else
|
||||
{
|
||||
Info.Source = "";
|
||||
Info.RefTitle = RefInput.site;
|
||||
return Info;
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
TimecodeToSeconds(char *Timecode)
|
||||
{
|
||||
|
@ -207,6 +237,7 @@ main(int ArgC, char **Args)
|
|||
{
|
||||
for(int i = 0; i < HMML.annotations[AnnotationIndex].reference_count; ++i)
|
||||
{
|
||||
HMML_Reference *CurrentRef = HMML.annotations[AnnotationIndex].references + i;
|
||||
// NOTE(matt): Consider removing the ref_index class if it ain't needed
|
||||
sprintf(Working.Location,
|
||||
" <a data-id=\"%d\" href=\"%s\" target=\"_blank\" class=\"ref\">\n"
|
||||
|
@ -222,9 +253,9 @@ main(int ArgC, char **Args)
|
|||
" </div>\n"
|
||||
" </a>\n",
|
||||
AnnotationIndex,
|
||||
HMML.annotations[AnnotationIndex].references[i].url,
|
||||
HMML.annotations[AnnotationIndex].references[i].site ? HMML.annotations[AnnotationIndex].references[i].site : HMML.annotations[AnnotationIndex].references[i].author,
|
||||
HMML.annotations[AnnotationIndex].references[i].page ? HMML.annotations[AnnotationIndex].references[i].page : HMML.annotations[AnnotationIndex].references[i].title,
|
||||
CurrentRef->url,
|
||||
ParseRef(*CurrentRef).Source,
|
||||
ParseRef(*CurrentRef).RefTitle,
|
||||
TimecodeToSeconds(HMML.annotations[AnnotationIndex].time),
|
||||
ReferenceIndex,
|
||||
HMML.annotations[AnnotationIndex].time);
|
||||
|
@ -275,7 +306,7 @@ HMML.annotations[AnnotationIndex].time);
|
|||
{
|
||||
for(int MarkerIndex = 0; MarkerIndex < HMML.annotations[AnnotationIndex].marker_count; ++MarkerIndex)
|
||||
{
|
||||
if(!StringsDiffer("blackboard", HMML.annotations[AnnotationIndex].markers[MarkerIndex].text) &&
|
||||
if(!StringsDiffer("blackboard", HMML.annotations[AnnotationIndex].markers[MarkerIndex].marker) &&
|
||||
HMML.annotations[AnnotationIndex].markers[MarkerIndex].type == HMML_CATEGORY)
|
||||
{
|
||||
sprintf(Working.Location, " blackboard");
|
||||
|
|
|
@ -40,7 +40,8 @@ typedef enum {
|
|||
|
||||
typedef struct {
|
||||
HMML_MarkerType type;
|
||||
char* text;
|
||||
char* marker;
|
||||
char* parameter;
|
||||
int offset;
|
||||
} HMML_Marker;
|
||||
|
||||
|
|
|
@ -84,6 +84,27 @@
|
|||
font-style: oblique;
|
||||
}
|
||||
|
||||
.marker .content .categories {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.marker .content .categories .category {
|
||||
border: 1px;
|
||||
border-radius: 50%;
|
||||
height: 6px;
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.category.memory {
|
||||
border-color: #3399FF;
|
||||
background: #3399FF;
|
||||
}
|
||||
|
||||
.category.hardware {
|
||||
border-color: #FF3333;
|
||||
background: #FF3333;
|
||||
}
|
||||
|
||||
/* MANDATORY */
|
||||
|
||||
.player_container {
|
||||
|
|
Loading…
Reference in New Issue