mirror of
https://github.com/TangentFoxy/memex.git
synced 2024-11-22 04:54:23 +00:00
Setup top 5 tags in menu.
This commit is contained in:
parent
af3f389a88
commit
9e633d82c2
@ -16,6 +16,7 @@ body {
|
|||||||
|
|
||||||
/* MENU */
|
/* MENU */
|
||||||
.menu {
|
.menu {
|
||||||
|
color: #fff;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background:#000;
|
background:#000;
|
||||||
position:fixed;
|
position:fixed;
|
||||||
@ -23,7 +24,7 @@ body {
|
|||||||
top: 0px;
|
top: 0px;
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
padding-top:20px;
|
padding-top:20px;
|
||||||
font-size:1.5em;
|
width: 150px;
|
||||||
/*-webkit-transition: width 0.05s ease-in-out;
|
/*-webkit-transition: width 0.05s ease-in-out;
|
||||||
transition: width 0.05s ease-in-out;*/
|
transition: width 0.05s ease-in-out;*/
|
||||||
}
|
}
|
||||||
@ -43,29 +44,62 @@ body {
|
|||||||
color: #eee;
|
color: #eee;
|
||||||
}
|
}
|
||||||
.menu-item {
|
.menu-item {
|
||||||
|
font-size:1.5em;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
padding-top: 10px;
|
padding-top: 10px;
|
||||||
margin-top: 5px;
|
margin: 0px auto;
|
||||||
margin-right: 20px;
|
|
||||||
}
|
|
||||||
.menu-item-space {
|
|
||||||
margin-top: 50px;
|
|
||||||
}
|
|
||||||
.menu-item i {
|
|
||||||
width: 50%;
|
|
||||||
float: left;
|
|
||||||
padding: 2px 0 0 25px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
}
|
||||||
.menu-item .count {
|
.menu-item .count {
|
||||||
width: 50%;
|
|
||||||
float: left;
|
float: left;
|
||||||
padding: 0 0 0 15px;
|
text-align: right;
|
||||||
|
width: 50%;
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
.menu-item i {
|
||||||
|
float: left;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
width: 50px;
|
||||||
|
margin-top: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.menu-tag-container {
|
||||||
|
display: table;
|
||||||
|
margin: 40px auto;
|
||||||
|
}
|
||||||
|
.menu-tag-container i {
|
||||||
|
display: table-row;
|
||||||
|
font-size:1.5em;
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
color: #333;
|
||||||
|
height: 30px;
|
||||||
|
}
|
||||||
|
.menu:hover .menu-tag-container i {
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
.menu-tag {
|
||||||
|
display: table-row;
|
||||||
|
font-size:0.8em;
|
||||||
|
height: 20px;
|
||||||
|
margin-top: 5px;
|
||||||
|
padding-top: 2px;
|
||||||
|
float: left;
|
||||||
|
clear: left;
|
||||||
|
}
|
||||||
|
.menu-tag-count {
|
||||||
|
float: left;
|
||||||
|
text-align: right;
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
.menu-tag-label {
|
||||||
|
float: left;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
margin-left: 120px;
|
margin-left: 150px; /* This should be the width of the menu */
|
||||||
}
|
}
|
||||||
/*.menu:hover + .container{
|
/*.menu:hover + .container{
|
||||||
transition: 0.05s -webkit-filter ease-in;
|
transition: 0.05s -webkit-filter ease-in;
|
||||||
|
110
logic/main.js
110
logic/main.js
@ -137,12 +137,9 @@ function Main()
|
|||||||
|
|
||||||
this.processDatabase = function()
|
this.processDatabase = function()
|
||||||
{
|
{
|
||||||
var tempDatabase = this.database;
|
for (i = 0; i < this.keys.length; i++)
|
||||||
var dbKeys = Object.keys(this.database);
|
|
||||||
|
|
||||||
for (i = 0; i < dbKeys.length; i++)
|
|
||||||
{
|
{
|
||||||
let value = this.database[dbKeys[i]];
|
let value = this.database[this.keys[i]];
|
||||||
|
|
||||||
// TAGS
|
// TAGS
|
||||||
if (typeof value.TAGS !== 'undefined')
|
if (typeof value.TAGS !== 'undefined')
|
||||||
@ -154,7 +151,7 @@ function Main()
|
|||||||
tags[t] = tags[t].trim().toLowerCase();
|
tags[t] = tags[t].trim().toLowerCase();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.database[dbKeys[i]].TAGS = tags;
|
this.database[this.keys[i]].TAGS = tags;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TERMS
|
// TERMS
|
||||||
@ -173,10 +170,10 @@ function Main()
|
|||||||
formattedTerms.push(term);
|
formattedTerms.push(term);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.database[dbKeys[i]].TERM = formattedTerms;
|
this.database[this.keys[i]].TERM = formattedTerms;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.database[dbKeys[i]].DIID = i;
|
this.database[this.keys[i]].DIID = i;
|
||||||
}
|
}
|
||||||
console.log(this.database);
|
console.log(this.database);
|
||||||
}
|
}
|
||||||
@ -206,6 +203,7 @@ function Main()
|
|||||||
// CALCULATE
|
// CALCULATE
|
||||||
let dbKeys = Object.keys(db);
|
let dbKeys = Object.keys(db);
|
||||||
let types = {};
|
let types = {};
|
||||||
|
let tags = {};
|
||||||
let terms = 0;
|
let terms = 0;
|
||||||
let i = 0;
|
let i = 0;
|
||||||
while (i < dbKeys.length)
|
while (i < dbKeys.length)
|
||||||
@ -221,22 +219,57 @@ function Main()
|
|||||||
{
|
{
|
||||||
types[db[dbKeys[i]].TYPE] = 1;
|
types[db[dbKeys[i]].TYPE] = 1;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// TAGS
|
||||||
|
if (typeof db[dbKeys[i]].TAGS !== 'undefined')
|
||||||
|
{
|
||||||
|
for (var t = 0; t < db[dbKeys[i]].TAGS.length; t++)
|
||||||
|
{
|
||||||
|
if (typeof tags[db[dbKeys[i]].TAGS[t]] !== 'undefined')
|
||||||
|
{
|
||||||
|
tags[db[dbKeys[i]].TAGS[t]] ++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
tags[db[dbKeys[i]].TAGS[t]] = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// TERM
|
||||||
if (typeof db[dbKeys[i]].TERM !== 'undefined')
|
if (typeof db[dbKeys[i]].TERM !== 'undefined')
|
||||||
{
|
{
|
||||||
terms += db[dbKeys[i]].TERM.length;
|
terms += db[dbKeys[i]].TERM.length;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
console.log(types);
|
|
||||||
|
// SORT TAGS, TAKE TOP 5
|
||||||
|
// Create items array
|
||||||
|
var items = Object.keys(tags).map(function(key) {
|
||||||
|
return [key, tags[key]];
|
||||||
|
});
|
||||||
|
|
||||||
|
// Sort the array based on the second element
|
||||||
|
items.sort(function(first, second) {
|
||||||
|
return second[1] - first[1];
|
||||||
|
});
|
||||||
|
|
||||||
|
tags = items.slice(0, 5);
|
||||||
|
console.log(tags);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// DISPLAY
|
// DISPLAY
|
||||||
let menuContent = ``;
|
let menuContent = ``;
|
||||||
|
|
||||||
|
// TYPE
|
||||||
menuContent += `<a href='#home'>`;
|
menuContent += `<a href='#home'>`;
|
||||||
menuContent += `<div class="menu-item">`;
|
menuContent += `<div class="menu-item">`;
|
||||||
menuContent += `<i class="fas fa-asterisk"></i><div class="count">${this.keys.length}</div>`;
|
menuContent += `<div class="count">${this.keys.length}</div>`;
|
||||||
|
menuContent += `<i class="fas fa-asterisk"></i>`;
|
||||||
menuContent += `</div>`;
|
menuContent += `</div>`;
|
||||||
menuContent += `</a>`;
|
menuContent += `</a>`;
|
||||||
|
|
||||||
@ -244,7 +277,8 @@ function Main()
|
|||||||
{
|
{
|
||||||
menuContent += `<a href='#type-article'>`;
|
menuContent += `<a href='#type-article'>`;
|
||||||
menuContent += `<div class="menu-item">`;
|
menuContent += `<div class="menu-item">`;
|
||||||
menuContent += `<i class="far fa-newspaper"></i><div class="count">${types['article']}</div>`;
|
menuContent += `<div class="count">${types['article']}</div>`;
|
||||||
|
menuContent += `<i class="far fa-newspaper"></i>`;
|
||||||
menuContent += `</div>`;
|
menuContent += `</div>`;
|
||||||
menuContent += `</a>`;
|
menuContent += `</a>`;
|
||||||
}
|
}
|
||||||
@ -252,7 +286,8 @@ function Main()
|
|||||||
{
|
{
|
||||||
menuContent += `<a href='#type-podcast'>`;
|
menuContent += `<a href='#type-podcast'>`;
|
||||||
menuContent += `<div class="menu-item">`;
|
menuContent += `<div class="menu-item">`;
|
||||||
menuContent += `<i class="fas fa-podcast"></i><div class="count">${types['podcast']}</div>`;
|
menuContent += `<div class="count">${types['podcast']}</div>`;
|
||||||
|
menuContent += `<i class="fas fa-podcast"></i>`;
|
||||||
menuContent += `</div>`;
|
menuContent += `</div>`;
|
||||||
menuContent += `</a>`;
|
menuContent += `</a>`;
|
||||||
}
|
}
|
||||||
@ -260,7 +295,8 @@ function Main()
|
|||||||
{
|
{
|
||||||
menuContent += `<a href='#type-video'>`;
|
menuContent += `<a href='#type-video'>`;
|
||||||
menuContent += `<div class="menu-item">`;
|
menuContent += `<div class="menu-item">`;
|
||||||
menuContent += `<i class="fas fa-tv"></i><div class="count">${types['video']}</div>`;
|
menuContent += `<div class="count">${types['video']}</div>`;
|
||||||
|
menuContent += `<i class="fas fa-tv"></i>`;
|
||||||
menuContent += `</div>`;
|
menuContent += `</div>`;
|
||||||
menuContent += `</a>`;
|
menuContent += `</a>`;
|
||||||
}
|
}
|
||||||
@ -268,7 +304,8 @@ function Main()
|
|||||||
{
|
{
|
||||||
menuContent += `<a href='#type-list'>`;
|
menuContent += `<a href='#type-list'>`;
|
||||||
menuContent += `<div class="menu-item">`;
|
menuContent += `<div class="menu-item">`;
|
||||||
menuContent += `<i class="fas fa-file-alt"></i><div class="count">${types['list']}</div>`;
|
menuContent += `<div class="count">${types['list']}</div>`;
|
||||||
|
menuContent += `<i class="fas fa-file-alt"></i>`;
|
||||||
menuContent += `</div>`;
|
menuContent += `</div>`;
|
||||||
menuContent += `</a>`;
|
menuContent += `</a>`;
|
||||||
}
|
}
|
||||||
@ -276,7 +313,8 @@ function Main()
|
|||||||
{
|
{
|
||||||
menuContent += `<a href='#type-book'>`;
|
menuContent += `<a href='#type-book'>`;
|
||||||
menuContent += `<div class="menu-item">`;
|
menuContent += `<div class="menu-item">`;
|
||||||
menuContent += `<i class="fas fa-book-open"></i><div class="count">${types['book']}</div>`;
|
menuContent += `<div class="count">${types['book']}</div>`;
|
||||||
|
menuContent += `<i class="fas fa-book-open"></i>`;
|
||||||
menuContent += `</div>`;
|
menuContent += `</div>`;
|
||||||
menuContent += `</a>`;
|
menuContent += `</a>`;
|
||||||
}
|
}
|
||||||
@ -284,7 +322,8 @@ function Main()
|
|||||||
{
|
{
|
||||||
menuContent += `<a href='#type-game'>`;
|
menuContent += `<a href='#type-game'>`;
|
||||||
menuContent += `<div class="menu-item">`;
|
menuContent += `<div class="menu-item">`;
|
||||||
menuContent += `<i class="fas fa-gamepad"></i><div class="count">${types['game']}</div>`;
|
menuContent += `<div class="count">${types['game']}</div>`;
|
||||||
|
menuContent += `<i class="fas fa-gamepad"></i>`;
|
||||||
menuContent += `</div>`;
|
menuContent += `</div>`;
|
||||||
menuContent += `</a>`;
|
menuContent += `</a>`;
|
||||||
}
|
}
|
||||||
@ -292,7 +331,8 @@ function Main()
|
|||||||
{
|
{
|
||||||
menuContent += `<a href='#type-service'>`;
|
menuContent += `<a href='#type-service'>`;
|
||||||
menuContent += `<div class="menu-item">`;
|
menuContent += `<div class="menu-item">`;
|
||||||
menuContent += `<i class="fas fa-server"></i><div class="count">${types['service']}</div>`;
|
menuContent += `<div class="count">${types['service']}</div>`;
|
||||||
|
menuContent += `<i class="fas fa-server"></i>`;
|
||||||
menuContent += `</div>`;
|
menuContent += `</div>`;
|
||||||
menuContent += `</a>`;
|
menuContent += `</a>`;
|
||||||
}
|
}
|
||||||
@ -300,7 +340,8 @@ function Main()
|
|||||||
{
|
{
|
||||||
menuContent += `<a href='#type-lecture'>`;
|
menuContent += `<a href='#type-lecture'>`;
|
||||||
menuContent += `<div class="menu-item">`;
|
menuContent += `<div class="menu-item">`;
|
||||||
menuContent += `<i class="fas fa-chalkboard-teacher"></i><div class="count">${types['lecture']}</div>`;
|
menuContent += `<div class="count">${types['lecture']}</div>`;
|
||||||
|
menuContent += `<i class="fas fa-chalkboard-teacher"></i>`;
|
||||||
menuContent += `</div>`;
|
menuContent += `</div>`;
|
||||||
menuContent += `</a>`;
|
menuContent += `</a>`;
|
||||||
}
|
}
|
||||||
@ -308,7 +349,8 @@ function Main()
|
|||||||
{
|
{
|
||||||
menuContent += `<a href='#type-quote'>`;
|
menuContent += `<a href='#type-quote'>`;
|
||||||
menuContent += `<div class="menu-item">`;
|
menuContent += `<div class="menu-item">`;
|
||||||
menuContent += `<i class="fas fa-comment"></i><div class="count">${types['quote']}</div>`;
|
menuContent += `<div class="count">${types['quote']}</div>`;
|
||||||
|
menuContent += `<i class="fas fa-comment"></i>`;
|
||||||
menuContent += `</div>`;
|
menuContent += `</div>`;
|
||||||
menuContent += `</a>`;
|
menuContent += `</a>`;
|
||||||
}
|
}
|
||||||
@ -316,7 +358,8 @@ function Main()
|
|||||||
{
|
{
|
||||||
menuContent += `<a href='#type-tool'>`;
|
menuContent += `<a href='#type-tool'>`;
|
||||||
menuContent += `<div class="menu-item">`;
|
menuContent += `<div class="menu-item">`;
|
||||||
menuContent += `<i class="fas fa-wrench"></i><div class="count">${types['tool']}</div>`;
|
menuContent += `<div class="count">${types['tool']}</div>`;
|
||||||
|
menuContent += `<i class="fas fa-wrench"></i>`;
|
||||||
menuContent += `</div>`;
|
menuContent += `</div>`;
|
||||||
menuContent += `</a>`;
|
menuContent += `</a>`;
|
||||||
}
|
}
|
||||||
@ -324,21 +367,42 @@ function Main()
|
|||||||
{
|
{
|
||||||
menuContent += `<a href='#type-music'>`;
|
menuContent += `<a href='#type-music'>`;
|
||||||
menuContent += `<div class="menu-item">`;
|
menuContent += `<div class="menu-item">`;
|
||||||
menuContent += `<i class="fas fa-music"></i><div class="count">${types['music']}</div>`;
|
menuContent += `<div class="count">${types['music']}</div>`;
|
||||||
|
menuContent += `<i class="fas fa-music"></i>`;
|
||||||
menuContent += `</div>`;
|
menuContent += `</div>`;
|
||||||
menuContent += `</a>`;
|
menuContent += `</a>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TERM
|
||||||
if (terms > 0)
|
if (terms > 0)
|
||||||
{
|
{
|
||||||
// menuContent += `<div class="menu-item-space"></div>`;
|
// menuContent += `<div class="menu-item-space"></div>`;
|
||||||
menuContent += `<a href='#term'>`;
|
menuContent += `<a href='#term'>`;
|
||||||
menuContent += `<div class="menu-item">`;
|
menuContent += `<div class="menu-item">`;
|
||||||
menuContent += `<i class="fas fa-ribbon"></i><div class="count">${terms}</div>`;
|
menuContent += `<div class="count">${terms}</div>`;
|
||||||
|
menuContent += `<i class="fas fa-ribbon"></i>`;
|
||||||
menuContent += `</div>`;
|
menuContent += `</div>`;
|
||||||
menuContent += `</a>`;
|
menuContent += `</a>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TAGS
|
||||||
|
if (tags.length > 0)
|
||||||
|
{
|
||||||
|
menuContent += `<div class="menu-tag-container">`;
|
||||||
|
menuContent += `<i class="fas fa-tag"></i>`;
|
||||||
|
for (var t = 0; t < tags.length; t++)
|
||||||
|
{
|
||||||
|
menuContent += `<a href='#tag-${tags[t][0]}'>`;
|
||||||
|
menuContent += `<div class="menu-tag">`;
|
||||||
|
// menuContent += `<i class="fas fa-tag textIcon"></i>`;
|
||||||
|
menuContent += `<div class="menu-tag-count">${tags[t][1]}</div>`;
|
||||||
|
menuContent += `<div class="menu-tag-label">${tags[t][0]}</div>`;
|
||||||
|
menuContent += `</div>`;
|
||||||
|
menuContent += `</a>`;
|
||||||
|
}
|
||||||
|
menuContent += `</div>`;
|
||||||
|
}
|
||||||
|
|
||||||
this.menu.innerHTML = ``;
|
this.menu.innerHTML = ``;
|
||||||
this.menu.innerHTML += menuContent;
|
this.menu.innerHTML += menuContent;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user