first commit! template and generate!
commit
d221259ba4
@ -0,0 +1,50 @@
|
|||||||
|
# Byte-compiled / optimized / DLL files
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
|
||||||
|
# C extensions
|
||||||
|
*.so
|
||||||
|
|
||||||
|
# Distribution / packaging
|
||||||
|
bin/
|
||||||
|
build/
|
||||||
|
develop-eggs/
|
||||||
|
dist/
|
||||||
|
eggs/
|
||||||
|
lib/
|
||||||
|
lib64/
|
||||||
|
parts/
|
||||||
|
sdist/
|
||||||
|
var/
|
||||||
|
*.egg-info/
|
||||||
|
.installed.cfg
|
||||||
|
*.egg
|
||||||
|
|
||||||
|
# Installer logs
|
||||||
|
pip-log.txt
|
||||||
|
pip-delete-this-directory.txt
|
||||||
|
|
||||||
|
# Unit test / coverage reports
|
||||||
|
.tox/
|
||||||
|
.coverage
|
||||||
|
.cache
|
||||||
|
nosetests.xml
|
||||||
|
coverage.xml
|
||||||
|
|
||||||
|
# Translations
|
||||||
|
*.mo
|
||||||
|
|
||||||
|
# Mr Developer
|
||||||
|
.mr.developer.cfg
|
||||||
|
.project
|
||||||
|
.pydevproject
|
||||||
|
|
||||||
|
# Rope
|
||||||
|
.ropeproject
|
||||||
|
|
||||||
|
# Django stuff:
|
||||||
|
*.log
|
||||||
|
*.pot
|
||||||
|
|
||||||
|
# Sphinx documentation
|
||||||
|
docs/_build/
|
@ -0,0 +1,79 @@
|
|||||||
|
# POST-IT GENERATOR
|
||||||
|
|
||||||
|
~~TO AUGMENT OUR PRODUCTIVITY HERE IS A SCRIPT THAT~~
|
||||||
|
Generate post-it blocks from markdown files.
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
Clone the repo
|
||||||
|
|
||||||
|
`git clone https://git.xpub.nl/kamo/postit-gen.git`
|
||||||
|
|
||||||
|
Move to the cloned folder
|
||||||
|
|
||||||
|
`cd postit-gen`
|
||||||
|
|
||||||
|
Create a virtual environment
|
||||||
|
|
||||||
|
`python3 -m venv venv`
|
||||||
|
|
||||||
|
and activate it
|
||||||
|
|
||||||
|
`. venv/bin/activate`
|
||||||
|
|
||||||
|
Then you can install the repo
|
||||||
|
|
||||||
|
`pip3 install -e .`
|
||||||
|
|
||||||
|
## How to use
|
||||||
|
|
||||||
|
The package offers two scripts: `template.py` and `generate.py`.
|
||||||
|
|
||||||
|
`template.py` generate a template folder with a markdown file that can be used as a starting point for formatting the contents.
|
||||||
|
|
||||||
|
`python3 template.py -f test`
|
||||||
|
|
||||||
|
Will generate a `test` folder, with the markdown template for the contents.
|
||||||
|
|
||||||
|
The `contents.md` file has these properties:
|
||||||
|
|
||||||
|
- `title`, the title of the block
|
||||||
|
- `folder`, the base folder in which the files are
|
||||||
|
- `page_width`, the width of the page for the printing
|
||||||
|
- `page_height`, the height of the page for the printing
|
||||||
|
- `post_width`, the width of the post-it for the printing
|
||||||
|
- `post_height`, the height of the post-it for the printing
|
||||||
|
- `margin`, the margin for the page
|
||||||
|
- `unit`, the measure unit in which the measures are expressed, default is _mm_
|
||||||
|
- `background`, the color of the post-its. Accept all the format CSS specs accept. Default is _white_.
|
||||||
|
- `contents`, a list of contents to put in the post-it block. Each entry is a post-it.
|
||||||
|
|
||||||
|
All these parameters are formatted in [YAML](https://it.wikipedia.org/wiki/YAML).
|
||||||
|
|
||||||
|
After setting all the parameters to match your needs, you can fill the contents. ATM you can insert text and images, in the form of a list.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
contents:
|
||||||
|
- A flat with no floors
|
||||||
|
- Hello, where are you, what can you see from there?
|
||||||
|
- type: image
|
||||||
|
src: game.png
|
||||||
|
```
|
||||||
|
|
||||||
|
Usually each entry of the list will be considered as a string. If you want to insert an image you will need to provide a `type: image`, and a `src: <filename>`.
|
||||||
|
|
||||||
|
In this way:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
contents:
|
||||||
|
- type: image
|
||||||
|
src: <filename>
|
||||||
|
```
|
||||||
|
|
||||||
|
Once you inserted your contents, you can run the `generate.py` script, specifying the working folder from which you want to take the contents.
|
||||||
|
|
||||||
|
`python3 generate.py -f test`
|
||||||
|
|
||||||
|
It will take the contents inside the `test` folder and will generate a ready-to-print HTML file, serving it with a simple http-server at `http://localhost:8000/test`. Opening that link you can preview your post-it blocks. Each entry of the `contents` list is now a page in the document (in the print mode!)
|
||||||
|
|
||||||
|
TODO: link css file in the template to work directly on the preview.
|
@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
background: white
|
||||||
|
folder: lootbox
|
||||||
|
margin: 5
|
||||||
|
page_height: 297
|
||||||
|
page_width: 210
|
||||||
|
post_height: 70
|
||||||
|
post_width: 70
|
||||||
|
title: What is a lottbox
|
||||||
|
unit: mm
|
||||||
|
contents:
|
||||||
|
- A loot box is a virtual box inside video games that provide a player with collectibles or essential items that make them progress inside the game.
|
||||||
|
- type: image
|
||||||
|
src: img.png
|
||||||
|
- It derives from the loot, a bunch of goodies that a player can get as a reward after they conquer-win a super boss or level up.
|
||||||
|
- But the loot box in its more recent and exploitative version is getting purchased with real money from a player.
|
||||||
|
- The player never knows what is inside of it.
|
||||||
|
- But they know that there is a chance of getting some items that they desire.
|
||||||
|
- Many times a loot box appear in the gameplay and it disappears quickly in order to be exclusive and make the player buy them without thinking too much.
|
||||||
|
---
|
Binary file not shown.
After Width: | Height: | Size: 660 KiB |
@ -0,0 +1,650 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta http-equiv="x-ua-compatible" content="ie=edge" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>document</title>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 0;
|
||||||
|
font-family:arial, helvetica, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
hr {
|
||||||
|
page-break-after: always;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
padding: 0;
|
||||||
|
margin: 5mm;
|
||||||
|
border-collapse: collapse;
|
||||||
|
border: 1px dashed gray;
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
border: 1px dashed gray;
|
||||||
|
width: 70mm;
|
||||||
|
height: 70mm;
|
||||||
|
padding: 0;
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
td img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: contain;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell {
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 1.6;
|
||||||
|
text-align: center;
|
||||||
|
padding: 5mm;
|
||||||
|
}
|
||||||
|
|
||||||
|
@page { size: auto; margin: 0mm; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">A loot box is a virtual box inside video games that provide a player with collectibles or essential items that make them progress inside the game.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">A loot box is a virtual box inside video games that provide a player with collectibles or essential items that make them progress inside the game.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">A loot box is a virtual box inside video games that provide a player with collectibles or essential items that make them progress inside the game.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">A loot box is a virtual box inside video games that provide a player with collectibles or essential items that make them progress inside the game.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">A loot box is a virtual box inside video games that provide a player with collectibles or essential items that make them progress inside the game.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">A loot box is a virtual box inside video games that provide a player with collectibles or essential items that make them progress inside the game.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">A loot box is a virtual box inside video games that provide a player with collectibles or essential items that make them progress inside the game.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">A loot box is a virtual box inside video games that provide a player with collectibles or essential items that make them progress inside the game.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<table>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<img src="img.png" />
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<img src="img.png" />
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<img src="img.png" />
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<img src="img.png" />
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<img src="img.png" />
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<img src="img.png" />
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<img src="img.png" />
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<img src="img.png" />
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<table>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">It derives from the loot, a bunch of goodies that a player can get as a reward after they conquer-win a super boss or level up.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">It derives from the loot, a bunch of goodies that a player can get as a reward after they conquer-win a super boss or level up.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">It derives from the loot, a bunch of goodies that a player can get as a reward after they conquer-win a super boss or level up.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">It derives from the loot, a bunch of goodies that a player can get as a reward after they conquer-win a super boss or level up.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">It derives from the loot, a bunch of goodies that a player can get as a reward after they conquer-win a super boss or level up.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">It derives from the loot, a bunch of goodies that a player can get as a reward after they conquer-win a super boss or level up.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">It derives from the loot, a bunch of goodies that a player can get as a reward after they conquer-win a super boss or level up.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">It derives from the loot, a bunch of goodies that a player can get as a reward after they conquer-win a super boss or level up.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<table>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">But the loot box in its more recent and exploitative version is getting purchased with real money from a player.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">But the loot box in its more recent and exploitative version is getting purchased with real money from a player.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">But the loot box in its more recent and exploitative version is getting purchased with real money from a player.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">But the loot box in its more recent and exploitative version is getting purchased with real money from a player.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">But the loot box in its more recent and exploitative version is getting purchased with real money from a player.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">But the loot box in its more recent and exploitative version is getting purchased with real money from a player.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">But the loot box in its more recent and exploitative version is getting purchased with real money from a player.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">But the loot box in its more recent and exploitative version is getting purchased with real money from a player.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<table>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">The player never knows what is inside of it.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">The player never knows what is inside of it.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">The player never knows what is inside of it.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">The player never knows what is inside of it.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">The player never knows what is inside of it.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">The player never knows what is inside of it.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">The player never knows what is inside of it.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">The player never knows what is inside of it.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<table>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">But they know that there is a chance of getting some items that they desire.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">But they know that there is a chance of getting some items that they desire.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">But they know that there is a chance of getting some items that they desire.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">But they know that there is a chance of getting some items that they desire.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">But they know that there is a chance of getting some items that they desire.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">But they know that there is a chance of getting some items that they desire.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">But they know that there is a chance of getting some items that they desire.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">But they know that there is a chance of getting some items that they desire.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<table>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">Many times a loot box appear in the gameplay and it disappears quickly in order to be exclusive and make the player buy them without thinking too much.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">Many times a loot box appear in the gameplay and it disappears quickly in order to be exclusive and make the player buy them without thinking too much.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">Many times a loot box appear in the gameplay and it disappears quickly in order to be exclusive and make the player buy them without thinking too much.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">Many times a loot box appear in the gameplay and it disappears quickly in order to be exclusive and make the player buy them without thinking too much.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">Many times a loot box appear in the gameplay and it disappears quickly in order to be exclusive and make the player buy them without thinking too much.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">Many times a loot box appear in the gameplay and it disappears quickly in order to be exclusive and make the player buy them without thinking too much.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">Many times a loot box appear in the gameplay and it disappears quickly in order to be exclusive and make the player buy them without thinking too much.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cell">Many times a loot box appear in the gameplay and it disappears quickly in order to be exclusive and make the player buy them without thinking too much.</div>
|
||||||
|
|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
Binary file not shown.
@ -0,0 +1,27 @@
|
|||||||
|
---
|
||||||
|
title: One sentence game ideas
|
||||||
|
folder: onesentencegames
|
||||||
|
page_width: 210
|
||||||
|
page_height: 297
|
||||||
|
post_width: 100
|
||||||
|
post_height: 100
|
||||||
|
margin: 5
|
||||||
|
unit: mm
|
||||||
|
background: springgreen;
|
||||||
|
contents:
|
||||||
|
- type: image
|
||||||
|
src: goose.png
|
||||||
|
- you are in an empty room with 13 doors that are portals to 13 different worlds.
|
||||||
|
- 5 min slow-mo epidemics, visual transmitted
|
||||||
|
- every crisis is a simulation of another crisis / every crisis is a preparation for another crisis
|
||||||
|
- you receive a point for each moving/floating tile on the street you encounter
|
||||||
|
- you sleep and the more you sleep, the more the buildings around the bedroom collapse and the nature starts growing and invading the space
|
||||||
|
- thermoSTATE - The state where no citizen has to feel cold
|
||||||
|
- The same day is looping over and over, the goal is to figure out which decision will make you move on to the next day.
|
||||||
|
- A flat with no floors
|
||||||
|
- type: image
|
||||||
|
src: snake.png
|
||||||
|
- Hello, where are you, what can you see from there?
|
||||||
|
- you give a gift to someone else, that person gives another gift to someone else
|
||||||
|
- you meet a person in a corridor, but you're in a supermarket, in Canada<3:D
|
||||||
|
---
|
Binary file not shown.
After Width: | Height: | Size: 426 KiB |
Binary file not shown.
After Width: | Height: | Size: 538 KiB |
Binary file not shown.
@ -0,0 +1,83 @@
|
|||||||
|
from jinja2 import Environment, PackageLoader, select_autoescape
|
||||||
|
import frontmatter
|
||||||
|
from math import floor
|
||||||
|
import sys, getopt
|
||||||
|
|
||||||
|
import http.server
|
||||||
|
import socketserver
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def main(argv):
|
||||||
|
|
||||||
|
# parse argument from commandline
|
||||||
|
|
||||||
|
folder = ''
|
||||||
|
try:
|
||||||
|
opts, args = getopt.getopt(argv,"hf:",["folder="])
|
||||||
|
except getopt.GetoptError:
|
||||||
|
print('generate.py -f <folder>')
|
||||||
|
sys.exit(2)
|
||||||
|
for opt, arg in opts:
|
||||||
|
if opt == '-h':
|
||||||
|
print('generate.py -f <folder>')
|
||||||
|
sys.exit()
|
||||||
|
elif opt in ("-f", "--folder"):
|
||||||
|
folder = arg
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# read the contents
|
||||||
|
|
||||||
|
with open(f"{folder}/contents.md", "r") as f:
|
||||||
|
metadata, body = frontmatter.parse(f.read())
|
||||||
|
contents = metadata['contents']
|
||||||
|
|
||||||
|
page = {
|
||||||
|
'folder': folder,
|
||||||
|
'post_width': 50,
|
||||||
|
'post_height': 50,
|
||||||
|
'page_width': 210,
|
||||||
|
'page_height': 297,
|
||||||
|
'background': 'white',
|
||||||
|
'margin': 5,
|
||||||
|
'unit': 'mm'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
page.update(metadata)
|
||||||
|
|
||||||
|
page['rows']= floor((page['page_height'] - 2 * page['margin']) / page['post_height'])
|
||||||
|
page['cols']= floor((page['page_width']- 2 * page['margin']) / page['post_width'])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# generate the template
|
||||||
|
|
||||||
|
env = Environment(
|
||||||
|
loader=PackageLoader("postit"),
|
||||||
|
autoescape=select_autoescape()
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
template = env.get_template('table.html')
|
||||||
|
render = template.render(contents=contents, page=page)
|
||||||
|
|
||||||
|
with open(f'{folder}/index.html', 'w') as output:
|
||||||
|
output.write(render)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
PORT = 8000
|
||||||
|
handler = http.server.SimpleHTTPRequestHandler
|
||||||
|
|
||||||
|
with socketserver.TCPServer(("", PORT), handler) as httpd:
|
||||||
|
print(f"Server started at http://localhost:{str(PORT)}/{folder}")
|
||||||
|
httpd.serve_forever()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main(sys.argv[1:])
|
@ -0,0 +1,49 @@
|
|||||||
|
import frontmatter, os, sys, getopt
|
||||||
|
from io import BytesIO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def main(argv):
|
||||||
|
folder = ''
|
||||||
|
try:
|
||||||
|
opts, args = getopt.getopt(argv,"hf:",["folder="])
|
||||||
|
except getopt.GetoptError:
|
||||||
|
print('template.py -f <folder>')
|
||||||
|
sys.exit(2)
|
||||||
|
for opt, arg in opts:
|
||||||
|
if opt == '-h':
|
||||||
|
print('template.py -f <folder>')
|
||||||
|
sys.exit()
|
||||||
|
elif opt in ("-f", "--folder"):
|
||||||
|
folder = arg
|
||||||
|
|
||||||
|
try:
|
||||||
|
os.makedirs(folder)
|
||||||
|
except OSError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
with open(f"{folder}/contents.md", "w") as file:
|
||||||
|
|
||||||
|
metadata = {
|
||||||
|
'folder': folder,
|
||||||
|
'title': '',
|
||||||
|
'post_width': 75,
|
||||||
|
'post_height': 75,
|
||||||
|
'page_width': 210,
|
||||||
|
'page_height': 297,
|
||||||
|
'background': 'white',
|
||||||
|
'margin': 5,
|
||||||
|
'unit': 'mm',
|
||||||
|
'contents': ''
|
||||||
|
}
|
||||||
|
|
||||||
|
page = frontmatter.Post('', **metadata)
|
||||||
|
file.write(frontmatter.dumps(page))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main(sys.argv[1:])
|
@ -0,0 +1,83 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta http-equiv="x-ua-compatible" content="ie=edge" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>document</title>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 0;
|
||||||
|
font-family:arial, helvetica, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
hr {
|
||||||
|
page-break-after: always;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
padding: 0;
|
||||||
|
margin: {{page['margin']}}{{page['unit']}};
|
||||||
|
border-collapse: collapse;
|
||||||
|
border: 1px dashed gray;
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
border: 1px dashed gray;
|
||||||
|
width: {{page['post_width']}}mm;
|
||||||
|
height: {{page['post_height']}}mm;
|
||||||
|
padding: 0;
|
||||||
|
background-color: {{page['background']}};
|
||||||
|
}
|
||||||
|
|
||||||
|
td img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: contain;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell {
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 1.6;
|
||||||
|
text-align: center;
|
||||||
|
padding: 5mm;
|
||||||
|
}
|
||||||
|
|
||||||
|
@page { size: auto; margin: 0mm; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
{% for content in contents %}
|
||||||
|
<table>
|
||||||
|
{%for row in range(page['rows'])%}
|
||||||
|
<tr>
|
||||||
|
{%for col in range(page['cols'])%}
|
||||||
|
<td>
|
||||||
|
{%if content['type'] %}
|
||||||
|
<img src="{{content['src']}}" />
|
||||||
|
|
||||||
|
{%else%}
|
||||||
|
|
||||||
|
<div class="cell">{{content}}</div>
|
||||||
|
|
||||||
|
{%endif%}
|
||||||
|
</td>
|
||||||
|
{%endfor%}
|
||||||
|
</tr>
|
||||||
|
{%endfor%}
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
{%endfor%}
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,13 @@
|
|||||||
|
from setuptools import find_packages, setup
|
||||||
|
|
||||||
|
setup(
|
||||||
|
name='postit-gen',
|
||||||
|
version='1.0.0',
|
||||||
|
packages=find_packages(),
|
||||||
|
include_package_data=True,
|
||||||
|
zip_safe=False,
|
||||||
|
install_requires=[
|
||||||
|
'Jinja2',
|
||||||
|
'python-frontmatter',
|
||||||
|
],
|
||||||
|
)
|
@ -0,0 +1,3 @@
|
|||||||
|
home = /Library/Developer/CommandLineTools/usr/bin
|
||||||
|
include-system-site-packages = false
|
||||||
|
version = 3.8.2
|
Loading…
Reference in New Issue