legacy site updates
This commit is contained in:
		
							parent
							
								
									bb69cf9321
								
							
						
					
					
						commit
						d23281ea83
					
				@ -4,10 +4,12 @@ import Article from '../models/article.js';
 | 
			
		||||
const app = express.Router();
 | 
			
		||||
 | 
			
		||||
app.get('/', async function (req, res) {
 | 
			
		||||
	let page = Number.isInteger(req.query.page) && req.query.page > 0 ? req.query.page : 1;
 | 
			
		||||
	let intPage = +req.query.page;
 | 
			
		||||
	let page = Number.isInteger(intPage) && intPage > 0 ? intPage : 1;
 | 
			
		||||
	let offset = (page - 1) * 4;
 | 
			
		||||
	let articles = await Article.find().sort('-created_at').limit(4).skip(offset);
 | 
			
		||||
	res.render('index', { articles, offset });
 | 
			
		||||
	let hasNextPage = (await Article.countDocuments()) > offset + 4;
 | 
			
		||||
	res.render('index', { articles, offset, hasNextPage, page });
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
app.use(function (req, res) {
 | 
			
		||||
 | 
			
		||||
@ -1,10 +1,22 @@
 | 
			
		||||
<!DOCTYPE HTML>
 | 
			
		||||
<html>
 | 
			
		||||
	<head>
 | 
			
		||||
		<title>HOWFEED.biz</title>
 | 
			
		||||
	</head>
 | 
			
		||||
	<body>
 | 
			
		||||
		<h1>Error 404</h1>
 | 
			
		||||
		<p>Looks like you're barking up the wrong tree!</p>
 | 
			
		||||
	</body>
 | 
			
		||||
</html>
 | 
			
		||||
<%- include('header') -%>
 | 
			
		||||
<tr height="64" style="background: url('/background.png');" align="center">
 | 
			
		||||
	<td colspan="6"><h1 style="line-height: 64px;font-size: 48px; margin:0;">ERROR 404</h1></td>
 | 
			
		||||
</tr>
 | 
			
		||||
<tr height="40" bgcolor="#96C8EA">
 | 
			
		||||
	<td colspan="6" align="center">
 | 
			
		||||
		<p style="line-height: 40px; margin: 0; display: inline;">
 | 
			
		||||
			<span style="font-weight: bold">OOPS!</span> Looks like you're barking up the wrong tree!
 | 
			
		||||
		</p>
 | 
			
		||||
	</td>
 | 
			
		||||
</tr>
 | 
			
		||||
<tr height="280" bgcolor="#96C8EA" style="overflow: scroll">
 | 
			
		||||
	<td colspan="6" align="center">
 | 
			
		||||
		<img src="http://howfeed.biz/sally.png" alt="Sally the dog">
 | 
			
		||||
	</td>
 | 
			
		||||
</tr>
 | 
			
		||||
<tr height="40" bgcolor="#96C8EA">
 | 
			
		||||
	<td colspan="6" align="center">
 | 
			
		||||
		<p style="margin: 0; font-size: 16px; line-height: 40px;">The file was not found. Check that the URL was spelled correctly and try again.</p>
 | 
			
		||||
	</td>
 | 
			
		||||
</tr>
 | 
			
		||||
<%- include('footer') -%>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										53
									
								
								src/legacy/views/article.ejs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								src/legacy/views/article.ejs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,53 @@
 | 
			
		||||
<div class="content">
 | 
			
		||||
    <div class="article-image">
 | 
			
		||||
        <img alt={article.title} src={`/a/${article.image}`}>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="article-meta">
 | 
			
		||||
        <h1 class="article-title">{article.title}</h1>
 | 
			
		||||
        <blockquote>
 | 
			
		||||
            <p>Author: <img class="avatar" alt={article.author.realname} src={`/u/${article.author.avatar || 'default.jpg'}`}> <strong>{article.author.realname}</strong></p>
 | 
			
		||||
            <p>Category: <strong><a href={`/c/${article.category.slug}`}>{article.category.name}</a></strong></p>
 | 
			
		||||
            <p>Published: <strong>{new Date(article.created_at).toLocaleString()}</strong></p>
 | 
			
		||||
            {#if article.updated_at}
 | 
			
		||||
            <p>Last Updated: <strong>{new Date(article.updated_at).toLocaleString()}</strong></p>
 | 
			
		||||
            {/if}
 | 
			
		||||
            <p>Views: <strong>{article.views}</strong></p>
 | 
			
		||||
        </blockquote>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="article-content">
 | 
			
		||||
        {@html article.html}
 | 
			
		||||
    </div>
 | 
			
		||||
    <hr>
 | 
			
		||||
    <h3>Comments</h3>
 | 
			
		||||
    <div class="comments">
 | 
			
		||||
    {#each comments as comment}
 | 
			
		||||
        <div class="comment">
 | 
			
		||||
            {#if comment.author_user}
 | 
			
		||||
                <img class="avatar" alt={comment.author_user.realname} src={`/u/${comment.author_user.avatar || 'default.jpg'}`}>
 | 
			
		||||
            {/if}
 | 
			
		||||
            <p class="comment-meta">
 | 
			
		||||
            {#if comment.author_user}
 | 
			
		||||
                <span class="comment-username">{comment.author_user.realname}</span> <span class="comment-verified">(verified)</span> - {new Date(comment.created_at).toLocaleString()}
 | 
			
		||||
            {:else}
 | 
			
		||||
                <span class="comment-username">{comment.author}</span> - {new Date(comment.created_at).toLocaleString()}
 | 
			
		||||
            {/if}
 | 
			
		||||
            </p>
 | 
			
		||||
            <div class="comment-content">{comment.content}</div>
 | 
			
		||||
        </div>
 | 
			
		||||
    {:else}
 | 
			
		||||
        <p>No comments.</p>
 | 
			
		||||
    {/each}
 | 
			
		||||
    </div>
 | 
			
		||||
    <h3>Add a Comment</h3>
 | 
			
		||||
    <form method="POST" action={`/a/${article.slug}/comments`}>
 | 
			
		||||
        <p>Name:
 | 
			
		||||
        {#if $session.user}
 | 
			
		||||
            <input type="text" disabled value={$session.user.realname}>
 | 
			
		||||
        {:else}
 | 
			
		||||
            <input type="text" bind:value={author} name="author" maxlength="100" placeholder="Anonymous">
 | 
			
		||||
        {/if}
 | 
			
		||||
        </p>
 | 
			
		||||
        <p><textarea name="content" bind:value={content} maxlength="5000"></textarea></p>
 | 
			
		||||
        <p><button type="submit" on:click|preventDefault={postComment}>Submit</button></p>
 | 
			
		||||
    </form>
 | 
			
		||||
</div>
 | 
			
		||||
@ -29,6 +29,9 @@
 | 
			
		||||
				color: #000;
 | 
			
		||||
				font-weight: bold;
 | 
			
		||||
			}
 | 
			
		||||
			a img {
 | 
			
		||||
				border: 0;
 | 
			
		||||
			}
 | 
			
		||||
		-->
 | 
			
		||||
		</style>
 | 
			
		||||
	</head>
 | 
			
		||||
@ -36,7 +39,11 @@
 | 
			
		||||
		<table width="640" cellspacing="0" cellpadding="0" border="0">
 | 
			
		||||
		<tbody>
 | 
			
		||||
			<tr align="center" height="36">
 | 
			
		||||
				<td colspan="2"><img src="/logo.png" height="26" width="150"></td>
 | 
			
		||||
				<td colspan="2">
 | 
			
		||||
					<a href="/">
 | 
			
		||||
						<img src="/logo.png" height="26" width="150">
 | 
			
		||||
					</a>
 | 
			
		||||
				</td>
 | 
			
		||||
				<td colspan="2">
 | 
			
		||||
				<form method="GET" action="/search" style="display: inline;">
 | 
			
		||||
					<input style="border: 4px solid #000;font-family: Tahoma;" type="text" name="query" value="Search" onclick="hidePlaceholder(this);" onblur="showPlaceholder(this);">
 | 
			
		||||
 | 
			
		||||
@ -2,13 +2,40 @@
 | 
			
		||||
<tr height="64" style="background: url('/background.png');" align="center">
 | 
			
		||||
	<td colspan="6"><h1 style="line-height: 64px;font-size: 48px; margin:0;">WELCOME</h1></td>
 | 
			
		||||
</tr>
 | 
			
		||||
<% for (var article of articles) { %>
 | 
			
		||||
<tr height="85" bgcolor="#96C8EA" style="overflow: scroll">
 | 
			
		||||
<% for (var i = 0; i < 4; i++) { %>
 | 
			
		||||
<tr height="80" bgcolor="#96C8EA" style="overflow: scroll">
 | 
			
		||||
	<% if (i < articles.length) { %>
 | 
			
		||||
		<td></td>
 | 
			
		||||
	<td bgcolor="white" align="center">
 | 
			
		||||
		<img src="http://howfeed.biz/a/<%= article.image %>" height="75" alt="<%= article.title %>">
 | 
			
		||||
		<td bgcolor="white" align="center" valign="center">
 | 
			
		||||
			<a href="/a/<%= articles[i].slug %>">
 | 
			
		||||
				<img style="vertical-align: top;" src="/a/<%= articles[i].image %>" height="65" alt="<%= articles[i].title %>">
 | 
			
		||||
			</a>
 | 
			
		||||
		</td>
 | 
			
		||||
	<td colspan="4"><%= article.title %></td>
 | 
			
		||||
		<td colspan="4">
 | 
			
		||||
			<a href="/a/<%= articles[i].slug %>" style="margin-left: 8px; font-weight: normal;">
 | 
			
		||||
				<%= articles[i].title %>
 | 
			
		||||
			</a>
 | 
			
		||||
		</td>
 | 
			
		||||
	<% } else { %>
 | 
			
		||||
		<td colspan="6"></td>
 | 
			
		||||
	<% } %>
 | 
			
		||||
</tr>
 | 
			
		||||
<% } %>
 | 
			
		||||
<% if (page > 1 || hasNextPage) { %>
 | 
			
		||||
<tr bgcolor="#96C8EA" height="40">
 | 
			
		||||
	<% if (page > 1) { %>
 | 
			
		||||
		<td colspan="<%= hasNextPage ? 2 : 6 %>" align="center">
 | 
			
		||||
			<button onclick="window.location.href = '/?page=<%= page - 1 %>';">< Previous Page</button>
 | 
			
		||||
		</td>
 | 
			
		||||
	<% } %>
 | 
			
		||||
	<% if (page > 1 && hasNextPage) { %>
 | 
			
		||||
		<td colspan="2"></td>
 | 
			
		||||
	<% } %>
 | 
			
		||||
	<% if (hasNextPage) { %>
 | 
			
		||||
		<td colspan="<%= page > 1 ? 2 : 6 %>" align="center">
 | 
			
		||||
			<button onclick="window.location.href = '/?page=<%= page + 1 %>';">Next Page ></button>
 | 
			
		||||
		</td>
 | 
			
		||||
	<% } %>
 | 
			
		||||
</tr>
 | 
			
		||||
<% } %>
 | 
			
		||||
<%- include('footer') -%>
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user