Kaynağa Gözat

Restructure template inheritance and add sample config.

master
Ben Kurtovic 8 yıl önce
ebeveyn
işleme
a290942e7a
9 değiştirilmiş dosya ile 86 ekleme ve 57 silme
  1. +5
    -2
      .gitignore
  2. +8
    -1
      README.md
  3. +2
    -2
      app.py
  4. +22
    -0
      config/config.yml.sample
  5. +35
    -14
      templates/_base.mako
  6. +2
    -5
      templates/_default.mako
  7. +0
    -14
      templates/_layout.mako
  8. +6
    -11
      templates/error.mako
  9. +6
    -8
      templates/landing.mako

+ 5
- 2
.gitignore Dosyayı Görüntüle

@@ -1,5 +1,8 @@
*.pyc
__pycache__/
config/
data/
venv/

config/*
data/*

!config/config.yml.sample

+ 8
- 1
README.md Dosyayı Görüntüle

@@ -17,8 +17,15 @@ Guide

### Setup

cp config.yml.sample config.yml
vim config.yml
...

### Run
### Test

./app.py
# go to http://localhost:8080

### Deploy

...

+ 2
- 2
app.py Dosyayı Görüntüle

@@ -6,7 +6,7 @@ from pathlib import Path
from flask import Flask, g
from flask_mako import MakoTemplates, render_template

from calefaction import __version__ as version
import calefaction
from calefaction.config import Config
from calefaction.eve import EVE
from calefaction.util import catch_errors, set_up_hash_versioning
@@ -23,7 +23,7 @@ set_up_hash_versioning(app)
def prepare_request():
g.config = config
g.eve = eve
g.version = version
g.version = calefaction.__version__

@app.route("/")
@catch_errors(app)


+ 22
- 0
config/config.yml.sample Dosyayı Görüntüle

@@ -0,0 +1,22 @@
# This is a sample config file for Calefaction.
# Copy this to config.yml and modify it to set up your website.

corp:
# Find your corp's ID at, e.g., https://zkillboard.com/corporation/917701062/
id: 123456789
# Full corp name (doesn't need to match in-game name exactly, but should)
name: My Corp Name Here

welcome: |-
(If you are seeing this message on the public internet, someone forgot to
configure their website. Whoops!)

This message is displayed to anyone who reaches your website without
(or before) logging in.

It's public, so don't give away any secrets. You might want to explain a bit
about your corp, with recruitment information, or invite corp members to log
in, or maybe just say something cryptic.

You can type raw HTML in here. Newlines are ignored, except for double
linebreaks, which are treated as separate paragraphs.

+ 35
- 14
templates/_base.mako Dosyayı Görüntüle

@@ -1,12 +1,9 @@
<%!
from datetime import datetime
%>\
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>
<%block name="title">${g.config.get("corp.name")}</%block>
<%block name="title">${g.config.get("corp.name") | h}</%block>
</title>
<link rel="stylesheet" type="text/css" href="${url_for('staticv', filename='main.css')}" />
<link rel="stylesheet" type="text/css" href="${url_for('staticv', filename='styles/minmatar.css')}" />
@@ -15,16 +12,40 @@
% endfor
</head>
<body>
${next.body()}
<footer>
<div>
<% copyright_year = datetime.now().year %>
Copyright &copy; ${copyright_year} ${g.config.get("corp.copyright")}
&bull;
Running <a href="https://github.com/earwig/calefaction">Calefaction</a> ${g.version}
&bull;
<a href="https://eveonline.com">EVE Online</a> and all related trademarks are property of <a href="https://ccpgames.com">CCP hf</a>.
<%block name="header">
<header>
<div>
<div class="left">
<%block name="lefthead">
<a href="/">
<img id="corp-masthead" class="aligned" src="${g.eve.image.corp(g.config.get('corp.id'), 256)}"/>
</a>
<a href="/" class="aligned">${g.config.get("corp.name") | h}</a>
</%block>
</div><!--
--><div class="right">
<%block name="righthead"/>
</div>
</div>
</header>
</%block>
<%block name="container">
<div id="container">
<div>
<main>
${next.body()}
</main>
</div>
</div>
</footer>
</%block>
<%block name="footer">
<footer>
<div>
Running <a href="https://github.com/earwig/calefaction">Calefaction</a> ${g.version}
&bull;
<a href="https://eveonline.com">EVE Online</a> and all related trademarks are property of <a href="https://ccpgames.com">CCP hf</a>.
</div>
</footer>
</%block>
</body>
</html>

+ 2
- 5
templates/_default.mako Dosyayı Görüntüle

@@ -1,9 +1,6 @@
<%inherit file="_layout.mako"/>
<%inherit file="_base.mako"/>
<%block name="lefthead">
<a href="/">
<img id="corp-masthead" class="aligned" src="${g.eve.image.corp(g.config.get('corp.id'), 256)}"/>
</a>
<a href="/" class="aligned">${g.config.get("corp.name")}</a>
${parent.lefthead()}
<nav>
Campaign: XYZ | Map | Intel | Members...
</nav>


+ 0
- 14
templates/_layout.mako Dosyayı Görüntüle

@@ -1,14 +0,0 @@
<%inherit file="_base.mako"/>
<header>
<div>
<div class="left"><%block name="lefthead"/></div><!--
--><div class="right"><%block name="righthead"/></div>
</div>
</header>
<div id="container">
<div>
<main>
${next.body()}
</main>
</div>
</div>

+ 6
- 11
templates/error.mako Dosyayı Görüntüle

@@ -1,15 +1,10 @@
<%inherit file="_base.mako"/>
<%block name="title">
Error &ndash; ${g.config.get("corp.name")}
Error &ndash; ${g.config.get("corp.name") | h}
</%block>
<div id="container">
<div>
<main>
<h1>Error!</h1>
<p>You may report the following information to the developers:</p>
<div id="error">
<pre>${traceback | trim,h}</pre>
</div>
</main>
</div>
<%block name="header"/>
<h1>Error!</h1>
<p>You may report the following information to the developers:</p>
<div id="error">
<pre>${traceback | trim,h}</pre>
</div>

+ 6
- 8
templates/landing.mako Dosyayı Görüntüle

@@ -1,11 +1,9 @@
<%inherit file="_layout.mako"/>
<%block name="lefthead">
<a href="/">
<img id="corp-masthead" class="aligned" src="${g.eve.image.corp(g.config.get('corp.id'), 256)}"/>
</a>
<a href="/" class="aligned">${g.config.get("corp.name")}</a>
</%block>
<%inherit file="_base.mako"/>
<%block name="righthead">
<img id="login-button" class="aligned" src="${url_for('staticv', filename='images/eve-login.png')}"/>
</%block>
<p>Hello, world!</p>
<div id="welcome">
% for paragraph in g.config.get("welcome").split("\n\n"):
<p>${paragraph.replace("\n", " ")}</p>
% endfor
</div>

Yükleniyor…
İptal
Kaydet