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;
|
int Size;
|
||||||
} buffer;
|
} buffer;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
char *Source;
|
||||||
|
char *RefTitle;
|
||||||
|
} ref_info;
|
||||||
|
|
||||||
void
|
void
|
||||||
ClaimBuffer(char *MemoryArena, int *ClaimedMemory, buffer *Buffer, int Size)
|
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;
|
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
|
int
|
||||||
TimecodeToSeconds(char *Timecode)
|
TimecodeToSeconds(char *Timecode)
|
||||||
{
|
{
|
||||||
|
@ -207,6 +237,7 @@ main(int ArgC, char **Args)
|
||||||
{
|
{
|
||||||
for(int i = 0; i < HMML.annotations[AnnotationIndex].reference_count; ++i)
|
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
|
// NOTE(matt): Consider removing the ref_index class if it ain't needed
|
||||||
sprintf(Working.Location,
|
sprintf(Working.Location,
|
||||||
" <a data-id=\"%d\" href=\"%s\" target=\"_blank\" class=\"ref\">\n"
|
" <a data-id=\"%d\" href=\"%s\" target=\"_blank\" class=\"ref\">\n"
|
||||||
|
@ -222,9 +253,9 @@ main(int ArgC, char **Args)
|
||||||
" </div>\n"
|
" </div>\n"
|
||||||
" </a>\n",
|
" </a>\n",
|
||||||
AnnotationIndex,
|
AnnotationIndex,
|
||||||
HMML.annotations[AnnotationIndex].references[i].url,
|
CurrentRef->url,
|
||||||
HMML.annotations[AnnotationIndex].references[i].site ? HMML.annotations[AnnotationIndex].references[i].site : HMML.annotations[AnnotationIndex].references[i].author,
|
ParseRef(*CurrentRef).Source,
|
||||||
HMML.annotations[AnnotationIndex].references[i].page ? HMML.annotations[AnnotationIndex].references[i].page : HMML.annotations[AnnotationIndex].references[i].title,
|
ParseRef(*CurrentRef).RefTitle,
|
||||||
TimecodeToSeconds(HMML.annotations[AnnotationIndex].time),
|
TimecodeToSeconds(HMML.annotations[AnnotationIndex].time),
|
||||||
ReferenceIndex,
|
ReferenceIndex,
|
||||||
HMML.annotations[AnnotationIndex].time);
|
HMML.annotations[AnnotationIndex].time);
|
||||||
|
@ -275,7 +306,7 @@ HMML.annotations[AnnotationIndex].time);
|
||||||
{
|
{
|
||||||
for(int MarkerIndex = 0; MarkerIndex < HMML.annotations[AnnotationIndex].marker_count; ++MarkerIndex)
|
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)
|
HMML.annotations[AnnotationIndex].markers[MarkerIndex].type == HMML_CATEGORY)
|
||||||
{
|
{
|
||||||
sprintf(Working.Location, " blackboard");
|
sprintf(Working.Location, " blackboard");
|
||||||
|
|
|
@ -40,7 +40,8 @@ typedef enum {
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
HMML_MarkerType type;
|
HMML_MarkerType type;
|
||||||
char* text;
|
char* marker;
|
||||||
|
char* parameter;
|
||||||
int offset;
|
int offset;
|
||||||
} HMML_Marker;
|
} HMML_Marker;
|
||||||
|
|
||||||
|
|
|
@ -84,6 +84,27 @@
|
||||||
font-style: oblique;
|
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 */
|
/* MANDATORY */
|
||||||
|
|
||||||
.player_container {
|
.player_container {
|
||||||
|
|
Loading…
Reference in New Issue