Browse Source

work on browse feature

pull/1/head
wes 7 years ago
parent
commit
4dfc93d376
  1. 9
      src/posts.py
  2. 1
      src/scripts/app.tag
  3. 21
      src/scripts/browse.tag
  4. 8
      src/website.py

9
src/posts.py

@ -146,11 +146,16 @@ class Posts:
])))
def browse(self, count, skip, categories=[], json=True):
result = self.db.list(
results = self.db.list(
"blogPosts/categories",
"blogPosts/format",
count=count,
skip=skip,
categories=dumps(categories))[1].get("results", [])
return jsonify(result) if json else result
posts = []
for categories, post in results:
post["content"] = markdown(post["content"])
posts.append([categories, post])
return jsonify(posts) if json else posts

1
src/scripts/app.tag

@ -230,6 +230,7 @@ self.on("mount", () => {
self.route("projects", projects);
self.route("about", about);
self.route("links", links);
self.route("browse", browse);
self.route("browse/*", browse);
self.route("browse/*/*", browse);
route.start(true);

21
src/scripts/browse.tag

@ -1,13 +1,24 @@
<browse>
<div>
<ul>
<li each={result in opts.state.results}>
<h3>{ JSON.stringify(result) }</h3>
</li>
</ul>
<div
class="card"
each={result in opts.state.results}
>
<div class="card-header">
<a href={"/blog/posts/"+result[1].id}>
<h3 class="card-title">
{ result[1].title } by { result[1].author }
</h3>
</a>
</div>
<div class="card-body">
<raw content="{ result[1].content }"></raw>
</div>
</div>
</div>
<script type="es6">
import './raw.tag';
import route from 'riot-route';
var self = this;

8
src/website.py

@ -145,6 +145,14 @@ def NeverWhere(configfile=None):
postcontent=post_content)
@app.route("/blog/browse/")
def browse_root():
return browse(0)
@app.route("/blog/browse/<category>/")
def browse_categories_(category):
return browse_categories(category, 0)
@app.route("/blog/browse/<start>")
def browse(start):
results = posts.browse(10, start*10, categories=[], json=False)

Loading…
Cancel
Save