Просмотр исходного кода

Restructure template inheritance and add sample config.

master
Ben Kurtovic 7 лет назад
Родитель
Сommit
a290942e7a
9 измененных файлов: 86 добавлений и 57 удалений
  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 Просмотреть файл

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

config/*
data/*

!config/config.yml.sample

+ 8
- 1
README.md Просмотреть файл

@@ -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 Просмотреть файл

@@ -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 Просмотреть файл

@@ -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 Просмотреть файл

@@ -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 Просмотреть файл

@@ -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 Просмотреть файл

@@ -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 Просмотреть файл

@@ -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 Просмотреть файл

@@ -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>

Загрузка…
Отмена
Сохранить