Initial upload

uploaded v0.1
This commit is contained in:
Bashy 2025-02-10 17:38:16 +02:00 committed by GitHub
parent 7ca416624c
commit ffb8736de2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 642 additions and 0 deletions

View file

@ -0,0 +1,28 @@
<!-- This is the template for the post. -->
<div class="post">
<div class="post-header">
<h1 class="article"><%= page.title || "Untitled" %></h1>
<% if(page.photos) { %>
<div class="cover">
<img class="gallery" src="<%- config.root %><%- page.photos %>" alt="<%- page.title || "Untitled" %>">
</div>
<% } %>
<p class="post_description"><%= page.description %></p>
<% if(page.content) { %>
<hr class="page-divider">
<% } %>
<a href='<%= url_for(page.path) %>' class="page-date"><%- include('date', { date: page.date.toISOString() }) %></a>
</div>
<div class="post-content">
<%- page.content %>
</div>
<div class="post-footer">
<div class="tags smoll">
<% if (page.tags) { %>
<% page.tags.data.forEach(function(tag) { %>
<a href="<%= url_for('/tags/' + tag.name) %>">#<%= tag.name %></a>
<% }); %>
<% } else {console.log(page)} %>
</div>
</div>
</div>

11
layout/_partial/date.ejs Normal file
View file

@ -0,0 +1,11 @@
<div class="date smoll">
<%
const posted = new Date(date);
const now = new Date();
const year = 365 * 24 * 60 * 60 * 1000;
const format = (now - posted) < year ?
{ day: 'numeric', month: 'long', hour: 'numeric', minute: 'numeric', hour12: true } :
{ day: 'numeric', month: 'long', year: 'numeric', hour: 'numeric', minute: 'numeric', hour12: true };
%>
<%= posted.toLocaleString('en-US', format ) %>
</div>

28
layout/_partial/feed.ejs Normal file
View file

@ -0,0 +1,28 @@
<!-- Default number of columns is two. If 3 is defined, then third column is added-->
<% columns = theme.column; %> <!-- Number of columns -->
<div class="posts-container">
<div class="column column-0">
<% item.forEach(function(post, index) { %>
<% if (index % columns === 0) { %>
<%- include('post_feed', { post: post }) %>
<% } %>
<% }); %>
</div>
<div class="column column-1">
<% item.forEach(function(post, index) { %>
<% if (index % columns === 1) { %>
<%- include('post_feed', { post: post }) %>
<% } %>
<% }); %>
</div>
<!-- Condition for column number 3 -->
<% if (columns === 3) { %>
<div class="column column-2">
<% item.forEach(function(post, index) { %>
<% if (index % columns === 2) { %>
<%- include('post_feed', { post: post }) %>
<% } %>
<% }); %>
</div>
<% } %>
</div>

View file

@ -0,0 +1,18 @@
<!-- This is the template for the post. It is used to display the posts in the feeds. -->
<div class="post">
<% if(post.photos) { %>
<div class="cover">
<img class="gallery" src="<%- config.root %><%- post.photos %>" alt="<%- post.title || "Untitled" %>">
</div>
<% } %>
<div class="post-header">
<h2><%= post.title || "Untitled" %></h2>
<a href='<%= url_for(post.path) %>'><%- include('date', { date: post.date.toISOString() }) %></a>
<p><%= post.description %></p>
<div class="tags smoll">
<% post.tags.data.forEach(function(tag) { %>
<a href="<%= url_for('/tags/' + tag.name) %>">#<%= tag.name %></a>
<% }); %>
</div>
</div>
</div>

View file

@ -0,0 +1,17 @@
<div class="scarves">
<% theme.scarf.forEach(function(scarf, index) { %>
<% if (scarf.enable) { %>
<a href="<%= scarf.url %>">
<div class="scarf" title="<%= scarf.alt %>" style="right: <%= index * 30 %>px;
margin-top:-<%= ( (index % 5) * 10) + 40 %>px;
background-color:<%= scarf.color ? scarf.color : theme.primary_color %>;">
<% if(scarf.image) { %>
<img class= "logo" src="<%= url_for(scarf.image) %>" alt="<%= scarf.alt %>">
<% } else if(scarf.icon) { %>
<i class='logo <%= scarf.icon %>'></i>
<% } else%>
</div>
</a>
<% } %>
<% }); %>
</div>

9
layout/archive.ejs Normal file
View file

@ -0,0 +1,9 @@
<% site.tags.forEach(function(tag) { %>
<h2><%= tag.name %></h2>
<ul>
<% tag.posts.forEach(function(post) { %>
<li><a href="<%= post.url %>"><%= post.title %></a></li>
<% }); %>
</ul>
<% }); %>

1
layout/index.ejs Normal file
View file

@ -0,0 +1 @@
<%- include("_partial/feed", { item: site.posts.sort('-date') }) %>

124
layout/layout.ejs Normal file
View file

@ -0,0 +1,124 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Metadata -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="<%= config.description %>">
<meta name="author" content="<%= config.author %>">
<meta name="title" content="<%= config.title %> - <%= config.subtitle %>">
<meta name="theme-color" content="<%= theme.primary_color %>">
<!-- Open Graph Meta Tags -->
<meta property="og:title" content="<%= config.title %>">
<meta property="og:description" content="<%= config.description %>">
<meta property="og:image" content="<%= url_for(theme.banner) %>">
<meta property="og:type" content="website">
<meta property="og:url" content="<%= config.url %>">
<link rel="icon" href="<%= url_for(theme.favicon) %>">
<script src="<%= url_for(theme.fontawesome) %>" crossorigin="anonymous"></script>
<title><%= config.title %></title>
<link rel="stylesheet" href="<%= url_for('/css/style.css') %>">
<style>
a:hover {
color: <%= theme.primary_color %>;
}
.banner img {
border: 2px solid <%= theme.primary_color %>;
}
.avatar img {
border: 2px solid <%= theme.primary_color %>;
}
<% if (theme.tag_border) { %>
.tags a {
border: 1px solid #6c6f72;
}
.tags a:hover {
border-color: #9fa5aa;
}
<% } %>
</style>
</head>
<body>
<main>
<% if (theme.scarves) { %>
<%- include('_partial/scarves') %>
<% } %>
<% if (theme.sidebar) { %>
<div class="sidebar">
<!-- Avatar -->
<a href="/">
<div class="sidebar-header">
<div class="banner">
<img src="<%= url_for(theme.banner) %>" alt="<%= config.author %>">
</div>
<div class="avatar">
<img src="<%= url_for(theme.avatar) %>" alt="<%= config.author %>">
</div>
</div>
</a>
<!-- Sidebar Menu -->
<nav>
<% theme.sidebar_menu.forEach(function(menu) { %>
<% if (menu.enable) { %>
<a href="<%= menu.url %>">
<%= menu.name %>
</a>
<% } %>
<% }); %>
</nav>
<!-- Sidebar Content -->
<div class="sidebar-content">
<a href="/">
<h1 class="title"><%= config.title %></h1>
</a>
<p><%= config.description %></p>
<div class="social">
<% theme.social.forEach(function(social) { %>
<% if (social.enable) { %>
<span class="social-icon">
<a href="<%= social.url %>" target="_blank">
<% if (theme.fontawesome) { %>
<i class="<%= social.icon %>"></i>
<% } else { %>
<img src='<%= url_for(theme.avatar) %>'></img>
<% } %>
</a>
</span>
<% } %>
<% }); %>
</div>
</div>
<!-- Sidebar Footer -->
<div class="footer smoll">
<% if (theme.hexo) { %>
<div class="hexo footer">
Powered by Hexo, theme <a href="https://tapestry.demo.bashynx.dev" target="_blank">Tapestry</a><br>
</div>
<% } %>
<% if (theme.copyright) { %>
<div class="copy footer">
&copy; <%= theme.copy_year %> <%= config.author %>
</div>
<% } %>
</div>
</div>
<% } %>
<div class="content">
<%- body %>
</div>
</main>
</body>
</html>

1
layout/page.ejs Normal file
View file

@ -0,0 +1 @@
<%- include("_partial/article", { page: page }) %>

1
layout/post.ejs Normal file
View file

@ -0,0 +1 @@
<%- include("_partial/article", { page: page }) %>

1
layout/tag.ejs Normal file
View file

@ -0,0 +1 @@
<%- include("_partial/feed", { item: page.posts.sort('-date') }) %>