Browse Source

remove build directory from git

pull/1/head
wes 8 years ago
parent
commit
1ad2f99f2e
  1. 1
      .gitignore
  2. 17
      build/blog.ini
  3. 13
      build/blog.service
  4. 28
      build/posts.py
  5. 44
      build/requirements.txt
  6. 14
      build/scripts/riotblog.min.js
  7. 70
      build/styles/riotblog.min.css
  8. 1
      build/styles/spectre.min.css
  9. 20
      build/templates/index.html
  10. 115
      build/website.py

1
.gitignore

@ -9,3 +9,4 @@ node_modules
.sass_cache/*
deploy.sh
tags
build

17
build/blog.ini

@ -1,17 +0,0 @@
[uwsgi]
wsgi_file = /srv/http/riotblog/website.py
chdir = /srv/http/riotblog/
module = website
callable = app
virtualenv = /srv/http/riotblog/venv
uid = http
gid = http
master = true
processes = 5
socket = /tmp/blog.sock
chown-socket = http:http
chmod-socket = 660
vacuum = true
die-on-term = true

13
build/blog.service

@ -1,13 +0,0 @@
[Unit]
Description=My Blargh
After=network.target
[Service]
User=http
Group=http
WorkingDirectory=/srv/http/riotblog
ExecStart=/usr/bin/uwsgi --ini /srv/http/riotblog/blog.ini
Environment="RIOTBLOG_SETTINGS=/srv/http/riotblog/riotblog_prod.cfg"
[Install]
WantedBy=multi.user.target

28
build/posts.py

@ -1,28 +0,0 @@
#! /usr/bin/python
import couchdb
from flask import jsonify
from flask_marshmallow import Marshmallow
class Posts:
def __init__(self, host=None, port=None):
if host is None:
host = "localhost"
if port is None:
port = "5984"
self.client = couchdb.Server("http://%s:%s" % (host, port))
self.db = self.client["blog"]
def savepost(self, title="", content="", author=""):
doc = {
"title" : title,
"content" : content,
"author" : author
}
return jsonify(self.db.save(doc))
def getposts(self, limit, start):
result = self.db.iterview("blogPosts/blog-posts", 10, include_docs=True, limit=limit, skip=start)
return jsonify(list(result))

44
build/requirements.txt

@ -1,44 +0,0 @@
appdirs==1.4.3
cffi==1.9.1
click==6.7
CouchDB==1.1
cryptography==1.7.2
dominate==2.3.1
elasticsearch==5.1.0
elasticsearch-dsl==5.1.0
Fabric==1.13.1
Flask==0.12
flask-appconfig==0.11.1
Flask-Bootstrap==3.3.7.1
Flask-Login==0.4.0
flask-marshmallow==0.7.0
Flask-WTF==0.14.2
greenlet==0.4.12
idna==2.2
itsdangerous==0.24
Jinja2==2.9.4
lxml==3.7.2
MarkupSafe==0.23
marshmallow==2.13.5
packaging==16.8
paramiko==2.1.1
pbr==1.10.0
pyasn1==0.2.1
pycparser==2.17
pyparsing==2.2.0
PySocks==1.6.6
python-dateutil==2.6.0
python-memcached==1.58
pyxdg==0.25
requests==2.13.0
six==1.10.0
stevedore==1.20.0
urllib3==1.19.1
uWSGI==2.0.14
virtualenv==15.1.0
virtualenv-clone==0.2.6
virtualenvwrapper==4.7.2
visitor==0.1.3
Werkzeug==0.11.15
WTForms==2.1
youtube-dl==2017.1.28

14
build/scripts/riotblog.min.js

File diff suppressed because one or more lines are too long

70
build/styles/riotblog.min.css

@ -1,70 +0,0 @@
.post-text, .ltb-title, .post, .postnav {
text-align: center; }
.navigate {
width: 20% !important;
margin-bottom: 25px !important;
margin: auto !important; }
.navigate-tab {
border: thin solid;
border-radius: 5px !important;
margin-bottom: 5px;
margin-left: 2px;
margin-right: 2px; }
.navigate-tab:hover {
background-color: #5764c6; }
.navigate-item:hover {
color: white !important; }
.content-box, .projects-box, .posts-box {
margin-top: 10px;
display: flex !important;
/* defines flexbox */
flex-direction: column !important;
/* top to bottom */
justify-content: space-between !important;
/* first item at start, last at end */
position: relative !important; }
.projects-box {
height: 350px !important; }
.posts-box {
height: 250px !important; }
.content {
margin: auto;
max-width: 40%; }
@media (max-width: 1000px) {
.content {
max-width: 60%; } }
@media (max-width: 800px) {
.content {
max-width: 70%; } }
@media (max-width: 400px) {
.content {
max-width: 80%; } }
.post-content {
max-width: 100%;
font-family: 'Open Sans',sans-serif;
font-size: 1.4em;
line-height: 1.6em;
color: #3A4145; }
.rounded-button {
border-radius: 13px; }
.maxinput {
background-color: grey; }
.maxwarn {
margin-top: 15px; }
.footer {
margin-top: 10%; }
.editor {
height: 100% !important; }

1
build/styles/spectre.min.css

File diff suppressed because one or more lines are too long

20
build/templates/index.html

@ -1,20 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
<meta name="viewport" content="width=device-width, initial-scale=1">
<head>
<link rel="stylesheet" href="/styles/primop.me.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<html>
<body>
<section class="text-center nav navbar centered page-top navbar-section">
<h1 class="blog-title">Wesley Kerfoot</h1>
</section>
<app csrf_token="{{ csrf_token() }}"></app>
<footer class="footer">
</footer>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script type="text/javascript" src="/scripts/riotblog.min.js"></script>
</body>
</html>

115
build/website.py

@ -1,115 +0,0 @@
#! /usr/bin/python3
from functools import partial
from flask import abort, Flask, render_template, flash, request, send_from_directory, jsonify
from werkzeug.local import Local, LocalProxy, LocalManager
from flask_appconfig import AppConfig
from flask_login import LoginManager, login_required
from flask_wtf.csrf import CSRFProtect
from urllib.parse import unquote
from urllib.parse import quote, unquote
from json import dumps, loads
from werkzeug.contrib.cache import MemcachedCache
cache = MemcachedCache(['127.0.0.1:11211'])
import os
from posts import Posts
from projects import getProjects
posts = Posts()
login_manager = LoginManager()
def cacheit(key, thunk):
"""
Tries to find a cached version of ``key''
If there is no cached version then it will
evaluate thunk (which must be a generator)
and cache that, then return the result
"""
cached = cache.get(quote(key))
if cached is None:
result = list(thunk())
cache.set(quote(key), result)
return result
return cached
def NeverWhere(configfile=None):
app = Flask(__name__)
app.config["TEMPLATES_AUTO_RELOAD"] = True
app.config["COUCHDB_SERVER"] = "http://localhost:5984"
app.config["COUCHDB_DATABASE"] = "blog"
#def favicon():
#return send_from_directory("/srv/http/goal/favicon.ico",
#'favicon.ico', mimetype='image/vnd.microsoft.icon')
@app.route("/blog/projects", methods=("GET",))
def projects():
return jsonify(cacheit("projects", getProjects))
@app.route("/blog/stuff", methods=("GET",))
def stuff():
return render_template("projects.html")
@app.route("/blog/", methods=("GET", "POST"))
def index():
print("matched index")
return render_template("index.html")
@app.route("/blog/scripts/<filename>", methods=("GET", "POST"))
def send_script(filename):
print("matched scripts route")
return send_from_directory("/srv/http/riotblog/scripts", filename)
@app.route("/blog/styles/<filename>", methods=("GET", "POST"))
def send_style(filename):
return send_from_directory("/srv/http/riotblog/styles", filename)
@app.route("/blog/switchpost/<pid>")
def getposts(pid):
try:
index = int(pid)
except ValueError:
index = 0
return posts.getposts(index+1, index)
# editor routes
@app.route("/blog/editor/", methods=("GET", "POST"))
@login_required
def editor():
"""
View the post editor, requires auth
"""
return render_template("write.html")
@app.route("/blog/insert/", methods=("POST",))
@login_required
def insert():
"""
Insert a post, requires auth
"""
return posts.savepost(**request.form)
# default, not found error
@app.route("/<path:path>")
def page_not_found(path):
return "Oops, couldn't find that :/"
return app
app = NeverWhere()
app.config.from_envvar('RIOTBLOG_SETTINGS')
login_manager.init_app(app)
csrf = CSRFProtect()
csrf.init_app(app)
if __name__ == "__main__":
NeverWhere("./appconfig").run(host="localhost", port=8001, debug=True)
Loading…
Cancel
Save