mirror of
https://github.com/venthur/blag.git
synced 2025-11-25 20:52:43 +00:00
Compare commits
62 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bfbedcc3df | ||
|
|
dff60d7399 | ||
|
|
f9b6afa80a | ||
|
|
c469b9b591 | ||
|
|
d76a0834e3 | ||
|
|
20b1e281a1 | ||
|
|
58e74f8d55 | ||
|
|
aad5f288af | ||
|
|
dc76295203 | ||
|
|
8a9a8cd2eb | ||
|
|
55e82393b6 | ||
|
|
b74cea8296 | ||
|
|
58a164899c | ||
|
|
769dcca83a | ||
|
|
f8bcaafc30 | ||
|
|
f1fe211ac6 | ||
|
|
c88628350f | ||
|
|
60e8b98232 | ||
|
|
b74c34839f | ||
|
|
2a8f93147f | ||
|
|
4c12ef738c | ||
|
|
bc71f51443 | ||
|
|
4cfbdd5108 | ||
|
|
6a07b19eda | ||
|
|
d486b7a90b | ||
|
|
2355799aaa | ||
|
|
788c07446d | ||
|
|
c1375a1478 | ||
|
|
67d9a31256 | ||
|
|
25c6a4c089 | ||
|
|
e75fd4eacb | ||
|
|
88905db579 | ||
|
|
702bc2e986 | ||
|
|
7cc4d8be45 | ||
|
|
764317aa24 | ||
|
|
a8a976403f | ||
|
|
fd9a6e6fa2 | ||
|
|
8f02c107e2 | ||
|
|
489e546173 | ||
|
|
9143a4dc7f | ||
|
|
512c12eaae | ||
|
|
ab3eaf934d | ||
|
|
db30fe1d06 | ||
|
|
27a760d834 | ||
|
|
a9abcd753a | ||
|
|
3deb62ed88 | ||
|
|
2366a2ae86 | ||
|
|
0fb01e3249 | ||
|
|
78316725cf | ||
|
|
4f1632e3cd | ||
|
|
d23f3666dc | ||
|
|
60cfd0290a | ||
|
|
10ea8df1ac | ||
|
|
edc89581af | ||
|
|
6d75891ace | ||
|
|
6367f5a55a | ||
|
|
3cd316a537 | ||
|
|
3b8d2fe9d6 | ||
|
|
1fe576a771 | ||
|
|
2f4d2267a0 | ||
|
|
7bb51ff060 | ||
|
|
5a8012d62b |
2
.github/dependabot.yml
vendored
2
.github/dependabot.yml
vendored
@@ -3,4 +3,4 @@ updates:
|
|||||||
- package-ecosystem: "pip"
|
- package-ecosystem: "pip"
|
||||||
directory: "/"
|
directory: "/"
|
||||||
schedule:
|
schedule:
|
||||||
interval: "daily"
|
interval: "weekly"
|
||||||
|
|||||||
26
CHANGELOG.md
26
CHANGELOG.md
@@ -1,6 +1,30 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## [1.1.0] - 2021-1006
|
## [1.3.0] - 2022-06-09
|
||||||
|
|
||||||
|
* debianized package
|
||||||
|
* Small fix in makefile
|
||||||
|
* updated dependencies:
|
||||||
|
* pytest 7.1.2
|
||||||
|
* sphinx 5.0.0
|
||||||
|
* twine 3.7.1
|
||||||
|
* wheel 0.37.1
|
||||||
|
* markdown 3.3.7
|
||||||
|
* jinja 3.1.2
|
||||||
|
* pygments 2.12.0
|
||||||
|
|
||||||
|
## [1.2.0] - 2021-11-06
|
||||||
|
|
||||||
|
* `make serve` now rebuilds immediately once after called to avoid serving
|
||||||
|
stale files
|
||||||
|
* updated dependencies:
|
||||||
|
* feedgenerator 2.0.0
|
||||||
|
* jinja2 3.0.1
|
||||||
|
* pytest-cov 3.0.0
|
||||||
|
* flake8 4.0.1
|
||||||
|
* twine 3.5.0
|
||||||
|
|
||||||
|
## [1.1.0] - 2021-10-06
|
||||||
|
|
||||||
* added Python 3.10 to list of supported versions to test against
|
* added Python 3.10 to list of supported versions to test against
|
||||||
* added dependabot to github workflows
|
* added dependabot to github workflows
|
||||||
|
|||||||
1
Makefile
1
Makefile
@@ -13,6 +13,7 @@ ifeq ($(OS), Windows_NT)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY: all
|
||||||
all: lint test
|
all: lint test
|
||||||
|
|
||||||
$(VENV): requirements.txt requirements-dev.txt setup.py
|
$(VENV): requirements.txt requirements-dev.txt setup.py
|
||||||
|
|||||||
17
README.md
17
README.md
@@ -3,7 +3,7 @@
|
|||||||
blag is a blog-aware, static site generator, written in [Python][].
|
blag is a blog-aware, static site generator, written in [Python][].
|
||||||
|
|
||||||
* an example "deployment" can be found [here][venthur.de]
|
* an example "deployment" can be found [here][venthur.de]
|
||||||
* online [documentation][] is available on readthedocs
|
* online [documentation][] is available on https://readthedocs.org.
|
||||||
|
|
||||||
blag is named after [the blag of the webcomic xkcd][blagxkcd].
|
blag is named after [the blag of the webcomic xkcd][blagxkcd].
|
||||||
|
|
||||||
@@ -30,6 +30,21 @@ blag runs on Linux, Mac and Windows and requires Python >= 3.8
|
|||||||
[pypi]: https://pypi.org/project/blag/
|
[pypi]: https://pypi.org/project/blag/
|
||||||
|
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
blag is available on [PyPI][], you can install it via:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ pip install blag
|
||||||
|
```
|
||||||
|
|
||||||
|
On Debian or Ubuntu, you can also just install the Debian package:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ sudo aptitude install blag
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## Quickstart
|
## Quickstart
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
@@ -433,7 +433,7 @@ def quickstart(args):
|
|||||||
base_url = input("Hostname (and path) to the root? "
|
base_url = input("Hostname (and path) to the root? "
|
||||||
"[https://example.com/]: ")
|
"[https://example.com/]: ")
|
||||||
title = input("Title of your website? ")
|
title = input("Title of your website? ")
|
||||||
description = input("Description of your website [John Does's Blog]? ")
|
description = input("Description of your website [John Doe's Blog]? ")
|
||||||
author = input("Author of your website [John Doe]? ")
|
author = input("Author of your website [John Doe]? ")
|
||||||
|
|
||||||
config = configparser.ConfigParser()
|
config = configparser.ConfigParser()
|
||||||
|
|||||||
@@ -55,6 +55,9 @@ def autoreload(args):
|
|||||||
last modified time). If the last modified time has changed, a
|
last modified time). If the last modified time has changed, a
|
||||||
rebuild is triggered.
|
rebuild is triggered.
|
||||||
|
|
||||||
|
A rebuild is also performed immediately when this method is called
|
||||||
|
to avoid serving stale contents.
|
||||||
|
|
||||||
Parameters
|
Parameters
|
||||||
----------
|
----------
|
||||||
args : argparse.Namespace
|
args : argparse.Namespace
|
||||||
@@ -62,12 +65,14 @@ def autoreload(args):
|
|||||||
"""
|
"""
|
||||||
dirs = [args.input_dir, args.template_dir, args.static_dir]
|
dirs = [args.input_dir, args.template_dir, args.static_dir]
|
||||||
logger.info(f'Monitoring {dirs} for changes...')
|
logger.info(f'Monitoring {dirs} for changes...')
|
||||||
last_mtime = get_last_modified(dirs)
|
# make sure we trigger the rebuild immediately when we enter the
|
||||||
|
# loop to avoid serving stale contents
|
||||||
|
last_mtime = 0
|
||||||
while True:
|
while True:
|
||||||
mtime = get_last_modified(dirs)
|
mtime = get_last_modified(dirs)
|
||||||
if mtime > last_mtime:
|
if mtime > last_mtime:
|
||||||
last_mtime = mtime
|
last_mtime = mtime
|
||||||
logger.debug('Change detected, rebuilding...')
|
logger.info('Change detected, rebuilding...')
|
||||||
blag.build(args)
|
blag.build(args)
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
|
|
||||||
@@ -84,4 +89,5 @@ def serve(args):
|
|||||||
directory=args.output_dir))
|
directory=args.output_dir))
|
||||||
proc = multiprocessing.Process(target=autoreload, args=(args,))
|
proc = multiprocessing.Process(target=autoreload, args=(args,))
|
||||||
proc.start()
|
proc.start()
|
||||||
|
logger.info("\n\n Devserver Started -- visit http://localhost:8000\n")
|
||||||
httpd.serve_forever()
|
httpd.serve_forever()
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
__VERSION__ = '1.1.0'
|
__VERSION__ = '1.3.0'
|
||||||
|
|||||||
6
debian/README.Debian
vendored
Normal file
6
debian/README.Debian
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
blag for Debian
|
||||||
|
--------------
|
||||||
|
|
||||||
|
<Possible notes regarding this package - if none, delete this file.>
|
||||||
|
|
||||||
|
-- Bastian Venthur <venthur@debian.org> Sun, 05 Jun 2022 15:20:48 +0200
|
||||||
1
debian/blag-doc.docs
vendored
Normal file
1
debian/blag-doc.docs
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
build/html/
|
||||||
5
debian/changelog
vendored
Normal file
5
debian/changelog
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
blag (1.3.0) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Initial release. Closes: #1012584
|
||||||
|
|
||||||
|
-- Bastian Venthur <venthur@debian.org> Sun, 05 Jun 2022 15:20:48 +0200
|
||||||
59
debian/control
vendored
Normal file
59
debian/control
vendored
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
Source: blag
|
||||||
|
Section: python
|
||||||
|
Priority: optional
|
||||||
|
Maintainer: Bastian Venthur <venthur@debian.org>
|
||||||
|
Rules-Requires-Root: no
|
||||||
|
Build-Depends:
|
||||||
|
debhelper-compat (= 13),
|
||||||
|
dh-sequence-sphinxdoc,
|
||||||
|
dh-sequence-python3,
|
||||||
|
dh-python,
|
||||||
|
python3-setuptools,
|
||||||
|
python3-all,
|
||||||
|
python3-markdown,
|
||||||
|
python3-feedgenerator,
|
||||||
|
python3-jinja2,
|
||||||
|
python3-pygments,
|
||||||
|
python3-pytest,
|
||||||
|
python3-pytest-cov,
|
||||||
|
python3-sphinx,
|
||||||
|
#Testsuite: autopkgtest-pkg-python
|
||||||
|
Standards-Version: 4.6.0.1
|
||||||
|
Homepage: https://github.com/venthur/blag
|
||||||
|
Vcs-Browser: https://github.com/venthur/blag
|
||||||
|
Vcs-Git: https://github.com/venthur/blag.git
|
||||||
|
|
||||||
|
Package: blag
|
||||||
|
Architecture: all
|
||||||
|
Depends:
|
||||||
|
${python3:Depends},
|
||||||
|
${misc:Depends},
|
||||||
|
Suggests:
|
||||||
|
python-blag-doc,
|
||||||
|
Description: Blog-aware, static site generator
|
||||||
|
Blag is a blog-aware, static site generator, written in Python. It supports
|
||||||
|
the following features:
|
||||||
|
* Write content in Markdown
|
||||||
|
* Theming support using Jinja2 templates
|
||||||
|
* Generation of Atom feeds for blog content
|
||||||
|
* Fenced code blocks and syntax highlighting using Pygments
|
||||||
|
* Integrated devserver
|
||||||
|
* Available on PyPI
|
||||||
|
|
||||||
|
Package: blag-doc
|
||||||
|
Section: doc
|
||||||
|
Architecture: all
|
||||||
|
Depends:
|
||||||
|
${sphinxdoc:Depends},
|
||||||
|
${misc:Depends},
|
||||||
|
Description: Blog-aware, static site generator (documentation)
|
||||||
|
Blag is a blog-aware, static site generator, written in Python. It supports
|
||||||
|
the following features:
|
||||||
|
* Write content in Markdown
|
||||||
|
* Theming support using Jinja2 templates
|
||||||
|
* Generation of Atom feeds for blog content
|
||||||
|
* Fenced code blocks and syntax highlighting using Pygments
|
||||||
|
* Integrated devserver
|
||||||
|
* Available on PyPI
|
||||||
|
.
|
||||||
|
This is the common documentation package.
|
||||||
35
debian/copyright
vendored
Normal file
35
debian/copyright
vendored
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
|
Source: https://github.com/venthur/blag
|
||||||
|
Upstream-Name: blag
|
||||||
|
Upstream-Contact: Bastian Venthur venthur@debian.org
|
||||||
|
|
||||||
|
Files:
|
||||||
|
*
|
||||||
|
Copyright:
|
||||||
|
2022 Bastian Venthur venthur@debian.org
|
||||||
|
License: MIT
|
||||||
|
|
||||||
|
Files:
|
||||||
|
debian/*
|
||||||
|
Copyright:
|
||||||
|
2022 Bastian Venthur <venthur@debian.org>
|
||||||
|
License: MIT
|
||||||
|
|
||||||
|
License: MIT
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
.
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
.
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
56
debian/manpage.1.ex
vendored
Normal file
56
debian/manpage.1.ex
vendored
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
.\" Hey, EMACS: -*- nroff -*-
|
||||||
|
.\" (C) Copyright 2022 Bastian Venthur <venthur@debian.org>,
|
||||||
|
.\"
|
||||||
|
.\" First parameter, NAME, should be all caps
|
||||||
|
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||||
|
.\" other parameters are allowed: see man(7), man(1)
|
||||||
|
.TH Blag SECTION "June 5 2022"
|
||||||
|
.\" Please adjust this date whenever revising the manpage.
|
||||||
|
.\"
|
||||||
|
.\" Some roff macros, for reference:
|
||||||
|
.\" .nh disable hyphenation
|
||||||
|
.\" .hy enable hyphenation
|
||||||
|
.\" .ad l left justify
|
||||||
|
.\" .ad b justify to both left and right margins
|
||||||
|
.\" .nf disable filling
|
||||||
|
.\" .fi enable filling
|
||||||
|
.\" .br insert line break
|
||||||
|
.\" .sp <n> insert n+1 empty lines
|
||||||
|
.\" for manpage-specific macros, see man(7)
|
||||||
|
.SH NAME
|
||||||
|
blag \- program to do something
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B blag
|
||||||
|
.RI [ options ] " files" ...
|
||||||
|
.br
|
||||||
|
.B bar
|
||||||
|
.RI [ options ] " files" ...
|
||||||
|
.SH DESCRIPTION
|
||||||
|
This manual page documents briefly the
|
||||||
|
.B blag
|
||||||
|
and
|
||||||
|
.B bar
|
||||||
|
commands.
|
||||||
|
.PP
|
||||||
|
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
|
||||||
|
.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
|
||||||
|
.\" respectively.
|
||||||
|
\fBblag\fP is a program that...
|
||||||
|
.SH OPTIONS
|
||||||
|
These programs follow the usual GNU command line syntax, with long
|
||||||
|
options starting with two dashes ('-').
|
||||||
|
A summary of options is included below.
|
||||||
|
For a complete description, see the Info files.
|
||||||
|
.TP
|
||||||
|
.B \-h, \-\-help
|
||||||
|
Show summary of options.
|
||||||
|
.TP
|
||||||
|
.B \-v, \-\-version
|
||||||
|
Show version of program.
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR bar (1),
|
||||||
|
.BR baz (1).
|
||||||
|
.br
|
||||||
|
The programs are documented fully by
|
||||||
|
.IR "The Rise and Fall of a Fooish Bar" ,
|
||||||
|
available via the Info system.
|
||||||
126
debian/manpage.md.ex
vendored
Normal file
126
debian/manpage.md.ex
vendored
Normal file
@@ -0,0 +1,126 @@
|
|||||||
|
% blag(SECTION) | User Commands
|
||||||
|
%
|
||||||
|
% "June 5 2022"
|
||||||
|
|
||||||
|
[comment]: # The lines above form a Pandoc metadata block. They must be
|
||||||
|
[comment]: # the first ones in the file.
|
||||||
|
[comment]: # See https://pandoc.org/MANUAL.html#metadata-blocks for details.
|
||||||
|
|
||||||
|
[comment]: # pandoc -s -f markdown -t man package.md -o package.1
|
||||||
|
[comment]: #
|
||||||
|
[comment]: # A manual page package.1 will be generated. You may view the
|
||||||
|
[comment]: # manual page with: nroff -man package.1 | less. A typical entry
|
||||||
|
[comment]: # in a Makefile or Makefile.am is:
|
||||||
|
[comment]: #
|
||||||
|
[comment]: # package.1: package.md
|
||||||
|
[comment]: # pandoc --standalone --from=markdown --to=man $< --output=$@
|
||||||
|
[comment]: #
|
||||||
|
[comment]: # The pandoc binary is found in the pandoc package. Please remember
|
||||||
|
[comment]: # that if you create the nroff version in one of the debian/rules
|
||||||
|
[comment]: # file targets, such as build, you will need to include pandoc in
|
||||||
|
[comment]: # your Build-Depends control field.
|
||||||
|
|
||||||
|
[comment]: # Remove the lines starting with '[comment]:' in this file in order
|
||||||
|
[comment]: # to avoid warning messages from pandoc.
|
||||||
|
|
||||||
|
# NAME
|
||||||
|
|
||||||
|
blag - program to do something
|
||||||
|
|
||||||
|
# SYNOPSIS
|
||||||
|
|
||||||
|
**blag** **-e** _this_ [**\-\-example=that**] [{**-e** | **\-\-example**} _this_]
|
||||||
|
[{**-e** | **\-\-example**} {_this_ | _that_}]
|
||||||
|
|
||||||
|
**blag** [{**-h** | *\-\-help**} | {**-v** | **\-\-version**}]
|
||||||
|
|
||||||
|
# DESCRIPTION
|
||||||
|
|
||||||
|
This manual page documents briefly the **blag** and **bar** commands.
|
||||||
|
|
||||||
|
This manual page was written for the Debian distribution because the
|
||||||
|
original program does not have a manual page. Instead, it has documentation
|
||||||
|
in the GNU info(1) format; see below.
|
||||||
|
|
||||||
|
**blag** is a program that...
|
||||||
|
|
||||||
|
# OPTIONS
|
||||||
|
|
||||||
|
The program follows the usual GNU command line syntax, with long options
|
||||||
|
starting with two dashes ('-'). A summary of options is included below. For
|
||||||
|
a complete description, see the **info**(1) files.
|
||||||
|
|
||||||
|
**-e** _this_, **\-\-example=**_that_
|
||||||
|
: Does this and that.
|
||||||
|
|
||||||
|
**-h**, **\-\-help**
|
||||||
|
: Show summary of options.
|
||||||
|
|
||||||
|
**-v**, **\-\-version**
|
||||||
|
: Show version of program.
|
||||||
|
|
||||||
|
# FILES
|
||||||
|
|
||||||
|
/etc/foo.conf
|
||||||
|
: The system-wide configuration file to control the behaviour of
|
||||||
|
blag. See **foo.conf**(5) for further details.
|
||||||
|
|
||||||
|
${HOME}/.foo.conf
|
||||||
|
: The per-user configuration file to control the behaviour of
|
||||||
|
blag. See **foo.conf**(5) for further details.
|
||||||
|
|
||||||
|
# ENVIRONMENT
|
||||||
|
|
||||||
|
**FOO_CONF**
|
||||||
|
: If used, the defined file is used as configuration file (see also
|
||||||
|
the section called “FILES”).
|
||||||
|
|
||||||
|
# DIAGNOSTICS
|
||||||
|
|
||||||
|
The following diagnostics may be issued on stderr:
|
||||||
|
|
||||||
|
Bad configuration file. Exiting.
|
||||||
|
: The configuration file seems to contain a broken configuration
|
||||||
|
line. Use the **\-\-verbose** option, to get more info.
|
||||||
|
|
||||||
|
**blag** provides some return codes, that can be used in scripts:
|
||||||
|
|
||||||
|
Code Diagnostic
|
||||||
|
0 Program exited successfully.
|
||||||
|
1 The configuration file seems to be broken.
|
||||||
|
|
||||||
|
# BUGS
|
||||||
|
|
||||||
|
The program is currently limited to only work with the foobar library.
|
||||||
|
|
||||||
|
The upstream BTS can be found at http://bugzilla.foo.tld.
|
||||||
|
|
||||||
|
# SEE ALSO
|
||||||
|
|
||||||
|
**bar**(1), **baz**(1), **foo.conf**(5)
|
||||||
|
|
||||||
|
The programs are documented fully by The Rise and Fall of a Fooish Bar
|
||||||
|
available via the **info**(1) system.
|
||||||
|
|
||||||
|
# AUTHOR
|
||||||
|
|
||||||
|
Bastian Venthur <venthur@debian.org>
|
||||||
|
: Wrote this manpage for the Debian system.
|
||||||
|
|
||||||
|
# COPYRIGHT
|
||||||
|
|
||||||
|
Copyright © 2007 Bastian Venthur
|
||||||
|
|
||||||
|
This manual page was written for the Debian system (and may be used by
|
||||||
|
others).
|
||||||
|
|
||||||
|
Permission is granted to copy, distribute and/or modify this document under
|
||||||
|
the terms of the GNU General Public License, Version 2 or (at your option)
|
||||||
|
any later version published by the Free Software Foundation.
|
||||||
|
|
||||||
|
On Debian systems, the complete text of the GNU General Public License
|
||||||
|
can be found in /usr/share/common-licenses/GPL.
|
||||||
|
|
||||||
|
[comment]: # Local Variables:
|
||||||
|
[comment]: # mode: markdown
|
||||||
|
[comment]: # End:
|
||||||
25
debian/rules
vendored
Executable file
25
debian/rules
vendored
Executable file
@@ -0,0 +1,25 @@
|
|||||||
|
#!/usr/bin/make -f
|
||||||
|
|
||||||
|
# See debhelper(7) (uncomment to enable).
|
||||||
|
# Output every command that modifies files on the build system.
|
||||||
|
#export DH_VERBOSE = 1
|
||||||
|
|
||||||
|
export PYBUILD_DESTDIR=debian/blag
|
||||||
|
export PYBUILD_TEST_ARGS=--no-cov
|
||||||
|
export PYBUILD_NAME=blag
|
||||||
|
|
||||||
|
%:
|
||||||
|
dh $@ --with python3,sphinxdoc --buildsystem=pybuild
|
||||||
|
|
||||||
|
|
||||||
|
# If you need to rebuild the Sphinx documentation:
|
||||||
|
# Add sphinxdoc to the dh --with line.
|
||||||
|
#
|
||||||
|
# And uncomment the following lines.
|
||||||
|
execute_after_dh_auto_build-indep: export http_proxy=127.0.0.1:9
|
||||||
|
execute_after_dh_auto_build-indep: export https_proxy=127.0.0.1:9
|
||||||
|
execute_after_dh_auto_build-indep:
|
||||||
|
PYTHONPATH=. python3 -m sphinx -N -bhtml \
|
||||||
|
docs/ build/html # HTML generator
|
||||||
|
# PYTHONPATH=. python3 -m sphinx -N -bman \
|
||||||
|
# docs/ build/man # Manpage generator
|
||||||
1
debian/source/format
vendored
Normal file
1
debian/source/format
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
3.0 (native)
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
sphinx==4.2.0
|
sphinx==5.0.0
|
||||||
twine==3.4.2
|
twine==4.0.0
|
||||||
wheel==0.37.0
|
wheel==0.37.1
|
||||||
pytest==6.2.5
|
pytest==7.1.2
|
||||||
pytest-cov==2.12.1
|
pytest-cov==3.0.0
|
||||||
flake8==3.9.2
|
flake8==4.0.1
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
markdown==3.3.4
|
markdown==3.3.7
|
||||||
feedgenerator==1.9.2
|
feedgenerator==2.0.0
|
||||||
jinja2==3.0.1
|
jinja2==3.1.2
|
||||||
pygments==2.10.0
|
pygments==2.12.0
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
import time
|
import time
|
||||||
|
import threading
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
from blag import devserver
|
from blag import devserver
|
||||||
|
|
||||||
@@ -19,3 +22,45 @@ def test_get_last_modified(cleandir):
|
|||||||
|
|
||||||
assert t2 > t1
|
assert t2 > t1
|
||||||
assert t2 == t3
|
assert t2 == t3
|
||||||
|
|
||||||
|
|
||||||
|
def test_autoreload_builds_immediately(args):
|
||||||
|
# create a dummy file that can be build
|
||||||
|
with open('content/test.md', 'w') as fh:
|
||||||
|
fh.write('boo')
|
||||||
|
|
||||||
|
t = threading.Thread(target=devserver.autoreload,
|
||||||
|
args=(args, ),
|
||||||
|
daemon=True,)
|
||||||
|
t0 = devserver.get_last_modified(['build'])
|
||||||
|
t.start()
|
||||||
|
# try for 5 seconds...
|
||||||
|
for i in range(5):
|
||||||
|
time.sleep(1)
|
||||||
|
t1 = devserver.get_last_modified(['build'])
|
||||||
|
print(t1)
|
||||||
|
if t1 > t0:
|
||||||
|
break
|
||||||
|
assert t1 > t0
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.filterwarnings("ignore::pytest.PytestUnhandledThreadExceptionWarning") # noqa
|
||||||
|
def test_autoreload(args):
|
||||||
|
t = threading.Thread(target=devserver.autoreload,
|
||||||
|
args=(args, ),
|
||||||
|
daemon=True,)
|
||||||
|
t.start()
|
||||||
|
|
||||||
|
t0 = devserver.get_last_modified(['build'])
|
||||||
|
|
||||||
|
# create a dummy file that can be build
|
||||||
|
with open('content/test.md', 'w') as fh:
|
||||||
|
fh.write('boo')
|
||||||
|
|
||||||
|
# try for 5 seconds to see if we rebuild once...
|
||||||
|
for i in range(5):
|
||||||
|
time.sleep(1)
|
||||||
|
t1 = devserver.get_last_modified(['build'])
|
||||||
|
if t1 > t0:
|
||||||
|
break
|
||||||
|
assert t1 > t0
|
||||||
|
|||||||
Reference in New Issue
Block a user