1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- from flask import Flask, flash, redirect, render_template, request, url_for
-
- from flask_webpack import Webpack
-
- from yird.services.git import GitService
-
- from yird.services.posts import PostsService
-
- from yird.settings import Settings
-
- app = Flask(__name__)
-
- params = {
- 'DEBUG': True,
- 'WEBPACK_MANIFEST_PATH': '../manifest.json',
- 'SECRET_KEY': b'flasndfjlasfnlajsnfs'
- }
- app.config.update(params)
-
- webpack = Webpack()
- webpack.init_app(app)
-
- yird_settings = Settings()
-
-
- @app.context_processor
- def inject_site_name():
- return {
- "site_name": yird_settings.SITE_NAME
- }
-
-
- @app.context_processor
- def inject_git_status():
- return GitService.get_status()
-
-
- @app.route('/admin')
- def index():
- posts = PostsService.get_posts()
- return render_template('index.html.j2', posts=posts)
-
-
- @app.route('/admin/posts/new')
- def new_post():
- form = PostsService.get_post_form()
- return render_template('posts/form.html.j2', post=False, form=form)
-
-
- @app.route('/admin/posts', methods=["POST"])
- def create_post():
- PostsService.create_post(request.form)
- return redirect(url_for('index'))
-
-
- @app.route('/admin/posts/<post_id>')
- def edit_post(post_id):
- post = PostsService.get_post(post_id)
- form = PostsService.get_post_form(post)
- return render_template('posts/form.html.j2', post=post, form=form)
-
-
- @app.route('/admin/posts/<post_id>', methods=["POST"])
- def update_post(post_id):
- PostsService.update_post(post_id, request.form)
- return redirect(url_for('index'))
-
-
- @app.route('/admin/generate')
- def generate():
- PostsService.generate_posts()
- flash('Generated static files successfully')
- return redirect(url_for('index'))
-
-
- @app.route('/admin/repo', methods=["GET"])
- def repo():
- return render_template('repo/index.html.j2')
-
- @app.route('/admin/repo', methods=["POST"])
- def git_init():
- GitService.init()
- return redirect(url_for('index'))
-
- if __name__ == "__main__":
- app.run()
|