commit d2c83fa89a63451f21921bc43a8511150af4927b Author: zvevqx Date: Mon Mar 17 08:13:34 2025 +0000 first diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5ceb386 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +venv diff --git a/README.md b/README.md new file mode 100644 index 0000000..b0e34f6 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +webhooks test with gitea +test +test diff --git a/app.py b/app.py new file mode 100644 index 0000000..1f2c0ad --- /dev/null +++ b/app.py @@ -0,0 +1,159 @@ +import os +import subprocess +from flask import Flask , send_from_directory , request , jsonify +from flask_flatpages import FlatPages +from flask import render_template +import os + +FLATPAGES_EXTENSION = '.md' +FLATPAGES_AUTO_RELOAD = True + +app = Flask(__name__) +app.config['APPLICATION_ROOT'] = '/tdtdt' +BASE_DIR = os.path.abspath(os.path.dirname(__file__)) +FLATPAGES_MARKDOWN_EXTENSIONS = ['extra'] +FLATPAGES_EXTENSION_CONFIGS = { + 'codehilite': { + 'linenums': 'True' + } +} + + + +app.config.from_object(__name__) +pages = FlatPages(app) +application = app +pages.get('foo') + +def Liste_cat(): + articles = (p for p in pages if 'published' in p.meta) + catList = [] + for a in articles: + catList.append(a.meta['cat']) + catList = list(dict.fromkeys(catList)) + return catList + +def imagelist(articlename): + dir_path = os.path.dirname(os.path.realpath(articlename))+'/pages/' + gallery_path = os.path.join(dir_path, articlename) + if os.path.exists(gallery_path): + images = [f for f in os.listdir(gallery_path) if f.endswith('.jpg') or f.endswith('.jpeg') or f.endswith('.png') or f.endswith('.gif')] + return gallery_path ,images + else: + return None, None + + +# this is chatgpt quick fix no love ! +def is_time(value): + try: + datetime.strptime(value, '%H:%M:%S') # Adjust the format as needed + return True + except ValueError: + return False + + +@app.route('/') +def index(): + # Articles are pages with a publication date + articles = (p for p in pages if 'published' in p.meta) + latest = sorted(articles, reverse=True, + key=lambda p: p.meta['published']) + catList = Liste_cat() + return render_template('index.html', articles=latest , catList=catList ) + +@app.route('/') +def page(path): + page = pages.get_or_404(path) + catList = Liste_cat() + g_path, imgs = imagelist(path) +# print(list(page.meta.values())) + if imgs: + return render_template('single.html', page=page ,catList=catList , g_path=g_path, imgs = imgs) + else : + return render_template('single.html', page=page ,catList=catList) + +@app.route('/info') +def info(): + page = pages.get_or_404('info') + catList = Liste_cat() + return render_template('staticpage.html', page=page , catList=catList) + +@app.route('/cat/') +def catPage(catname): + articles = (p for p in pages if 'published' in p.meta and 'cat' in p.meta and p.meta['cat']==catname ) + latest = sorted(articles, reverse=True, + key=lambda p: p.meta['published']) + catList = Liste_cat() + return render_template('index.html', articles=latest , catList=catList ) + +@app.route('/author/') +def authorPage(authorname): + articles = (p for p in pages if 'published' in p.meta and 'author' in p.meta and p.meta['author']==authorname ) + latest = sorted(articles, reverse=True, + key=lambda p: p.meta['published']) + catList = Liste_cat() + return render_template('index.html', articles=latest , catList=catList ) + + +@app.route('/pages/') +def serve_pages(path): + return send_from_directory('pages', path) + + + +@app.route('/search', methods=['POST']) +def search(): + query = request.form['query'] + print(query) + catList = Liste_cat() +# articles = (p for p in pages if 'published' in p.meta and query.lower() in metastr= lambda m : [item.lower() for item in list(p.meta.values())]) + articles = (p for p in pages if 'published' in p.meta and any(isinstance(value,str) and query.lower() in value.lower() for value in p.meta.values())) + return render_template('index.html', articles=articles ,catList=catList) + + + +@app.route('/webhook', methods=['POST']) +def webhook(): + if request.method == 'POST': + repo_path = "http://192.168.178.21:3000/zvevqx/tdtdt.git" # Replace with the actual path + subprocess.run(['git', 'pull', repo_path]) + return "Webhook received!" + + + +# # Verify the secret (if you used one in Gitea) +# secret = "salut" # Replace with your actual secret +# if secret: +# if 'X-Gitea-Signature' not in request.headers: +# return "Unauthorized", 401 +# received_signature = request.headers['X-Gitea-Signature'] +# expected_signature = f"sha256={compute_signature(request.data, secret)}" +# if received_signature != expected_signature: +# return "Unauthorized", 401 +# +# # Perform Git pull to update the website's code +# # repo_path = "/path/to/your/website/repo" # Replace with the actual path +# # subprocess.run(['git', 'pull'], cwd=repo_path) +# # Restart the Flask app +# #restart_flask_app() +# print("YOLOLYOYLOOLLYYYOOOLLOO il y a un push") +# return "Webhook received and processed successfully", 200 + +def compute_signature(data, secret): + import hmac + import hashlib + return hmac.new(secret.encode('utf-8'), data, hashlib.sha256).hexdigest() + +def restart_flask_app(): + # Customize this function to restart your Flask app (e.g., using gunicorn, systemd, etc.) + # Example: subprocess.run(['systemctl', 'restart', 'your-flask-app.service']) + pass + + +@app.errorhandler(404) +def page_not_found(e): + # note that we set the 404 status explicitly + return "NOPE NOTHING HERE plz leave now 🛸" + +if __name__ == "__main__": + app.run(host='0.0.0.0') diff --git a/app.wsgi b/app.wsgi new file mode 100644 index 0000000..a3e7db0 --- /dev/null +++ b/app.wsgi @@ -0,0 +1,12 @@ +#!/usr/bin/env python3 +from app import app + +def application(environ, start_response): + return app(environ, start_response) + +if __name__ == "__main__": + app.run() + + + + diff --git a/pages/article_type.md b/pages/article_type.md new file mode 100644 index 0000000..76256b7 --- /dev/null +++ b/pages/article_type.md @@ -0,0 +1,38 @@ +title : article type +author: zvevqx +published: 2021-11-22 +cat: linux +desc: ws + +... + + + + +# mon titre + + +![bliblabouuuu](https://cdn3.photoblogstop.com/wp-content/uploads/2012/07/Sierra_HDR_DFX8048_2280x819_Q40_wm_mini-1726x819__-1140x541.jpg) + +Her father remarried while at Burma and Kuntala returned to Odisha with her Mother. She settled in Khurdha with her mother after returning from Burma. In spite of total lack of women's education her mother's perseverance allowed her to receive a good education. She studied from Ravenshaw Girls High School and continued her education in Orissa Medical School, Cuttack (Now Srirama Chandra Bhanja Medical College and Hospital). She earned her L.M.P (Licentiate Medical Practitioners) degree in 1921 with a gold medal. She was fluent in Odia, Hindi, Bengali, English and Burmese.[5] Her father remarried while at Burma and Kuntala returned to Odisha with her Mother. She settled in Khurdha with her mother after returning from Burma. In spite of total lack of women's education her mother's perseverance allowed her to receive a good education. She studied from Ravenshaw Girls High School and continued her education in Orissa Medical School, Cuttack (Now Srirama Chandra Bhanja Medical College and Hospital). She earned her L.M.P (Licentiate Medical Practitioners) degree in 1921 with a gold medal. She was fluent in Odia, Hindi, Bengali, English and Burmese.[5] Her father remarried while at Burma and Kuntala returned to Odisha with her Mother. She settled in Khurdha with her mother after returning from Burma. In spite of total lack of women's education her mother's perseverance allowed her to receive a good education. She studied from Ravenshaw Girls High School and continued her education in Orissa Medical School, Cuttack (Now Srirama Chandra Bhanja Medical College and Hospital). She earned her L.M.P (Licentiate Medical Practitioners) degree in 1921 with a gold medal. She was fluent in Odia, Hindi, Bengali, English and Burmese.[5] Her father remarried while at Burma and Kuntala returned to Odisha with her Mother. She settled in Khurdha with her mother after returning from Burma. In spite of total lack of women's education her mother's perseverance allowed her to receive a good education. She studied from Ravenshaw Girls High School and continued her education in Orissa Medical School, Cuttack (Now Srirama Chandra Bhanja Medical College and Hospital). She earned her L.M.P + +some code ( add 1 **tab** before every line ) + + def Liste_cat(): + articles = (p for p in pages if 'published' in p.meta) + catList = [] + for a in articles: + catList.append(a.meta['cat']) + catList = list(dict.fromkeys(catList)) + return catList + + +[un lien](https://google.com) + +- lest +- tewt +- trie + + + +yyEach of these objects is associated to a path: the slash-separated (whatever the OS) name of the file it was loaded from, relative to the pages root, and excluding the extension. For example, for an app in diff --git a/pages/bash-commands.md b/pages/bash-commands.md new file mode 100644 index 0000000..449b603 --- /dev/null +++ b/pages/bash-commands.md @@ -0,0 +1,38 @@ +title : Bash and terminal command +author: zvevqx +published: 2025-11-22 +cat: linux +desc: ws + +... + +👾 MOST OF THIS PAGE IS DIRECT OUTPUT OF CHATGPT 3.5 + +# Basic Bash Commands for Navigating a File System + +Here are some of the basic Bash commands you can use to navigate a file system: + +1. `pwd`: Displays the current working directory. +2. `cd`: Changes the current working directory. + * `cd `: Changes to the specified directory. + * `cd ..`: Changes to the parent directory. + * `cd /`: Changes to the root directory. + * `cd ~`: Changes to the home directory. +3. `ls`: Lists the contents of the current directory. + * `ls `: Lists the contents of the specified directory. + * `ls -l`: Lists the contents of the current directory in long format. + * `ls -a`: Lists all contents of the current directory, including hidden files. +4. `mkdir`: Creates a new directory. + * `mkdir `: Creates a new directory with the specified name. +5. `touch`: Creates a new file. + * `touch `: Creates a new file with the specified name. +6. `cp`: Copies a file or directory. + * `cp `: Copies the file or directory from the source to the destination. +7. `mv`: Moves a file or directory. + * `mv `: Moves the file or directory from the source to the destination. +8. `rm`: Deletes a file or directory. + * `rm `: Deletes the specified file. + * `rm -r `: Deletes the specified directory and its contents. + +These are just a few of the basic Bash commands you can use to navigate a file system. As you become more familiar with these commands, you can start to use more advanced commands to perform more complex tasks. + diff --git a/pages/cheatsheet.md b/pages/cheatsheet.md new file mode 100644 index 0000000..7fa5cb8 --- /dev/null +++ b/pages/cheatsheet.md @@ -0,0 +1,88 @@ +title : Cheatsheet all +author: zvevqx +published: 2025-11-22 +cat: linux +desc: ws + +... + +👾 MOST OF THIS PAGE IS DIRECT OUTPUT OF CHATGPT 3.5 + +# Cheatsheet + +## Bash Commands + +| Command | Description | +| --- | --- | +| `cd [dir]` | change directory | +| `ls` | list directory contents | +| `pwd` | print working directory | +| `mkdir [dir]` | create a new directory | +| `rm [file]` | remove a file | +| `rm -r [dir]` | remove a directory and its contents | +| `cp [source] [destination]` | copy a file or directory | +| `mv [source] [destination]` | move or rename a file or directory | +| `cat [file]` | display the contents of a file | +| `grep [pattern] [file]` | search for a pattern in a file | + +## Git Commands + +| Command | Description | +| --- | --- | +| `git init` | initialize a new Git repository | +| `git add [file]` | add a file to the staging area | +| `git commit -m "[message]"` | commit changes with a message | +| `git status` | show the status of the repository | +| `git log` | show the commit history | +| `git push` | push changes to a remote repository | +| `git pull` | pull changes from a remote repository | + +## SSH Commands + +| Command | Description | +| --- | --- | +| `ssh [user]@[host]` | connect to a remote host via SSH | +| `scp [file] [user]@[host]:[destination]` | copy a file to a remote host | +| `ssh-keygen` | generate an SSH key pair | +| `ssh-copy-id [user]@[host]` | copy your SSH public key to a remote host | + +## Python Commands and Tools + +| Command | Description | +| --- | --- | +| `python` | start the Python interpreter | +| `pip install [package]` | install a Python package | +| `venv` | create and manage Python virtual environments | + +### Python Virtual Environments + +| Command | Description | +| --- | --- | +| `python3 -m venv [venv-name]` | create a new virtual environment | +| `source [venv-name]/bin/activate` | activate the virtual environment | +| `deactivate` | deactivate the virtual environment | + +## FFmpeg Commands + +| Command | Description | +| --- | --- | +| `ffmpeg -i [input] [output]` | convert a video or audio file | +| `ffmpeg -i [input] -ss [time] -t [duration] [output]` | trim a video or audio file | +| `ffmpeg -i [input] -vn -acodec [codec] [output]` | extract audio from a video file | +| `ffmpeg -f concat -safe 0 -i [list.txt] -c copy [output]` | concatenate multiple video or audio files | + +## ImageMagick Commands + +| Command | Description | +| --- | --- | +| `convert [input] [output]` | convert an image format | +| `mogrify -resize [size] [input]` | resize an image | +| `montage [input1] [input2] -geometry [geometry] [output]` | create a montage of images | + +## Arduino Commands + +| Command | Description | +| --- | --- | +| `arduino-cli board list` | list available boards | +| `arduino-cli compile --fqbn [board] [sketch]` | compile a sketch | +| `arduino-cli upload -p [port] --fqbn [board diff --git a/pages/cli-mediatools.md b/pages/cli-mediatools.md new file mode 100644 index 0000000..de87d71 --- /dev/null +++ b/pages/cli-mediatools.md @@ -0,0 +1,79 @@ +title : cli image/video tools ( ffmpeg / imagemagick ) +author: zvevqx +published: 2025-11-22 +cat: tools +desc: ws + +... + +👾 MOST OF THIS PAGE IS DIRECT OUTPUT OF CHATGPT 3.5 + +# Multimedia Cheat Sheet - Advanced Commands + +Here are some advanced commands for two powerful multimedia tools: FFmpeg and ImageMagick. + +## FFmpeg Cheat Sheet + +FFmpeg is a powerful tool for manipulating video and audio files. + +### Basic Commands + +| Command | Description | +| --- | --- | +| `ffmpeg -i input.mp4 output.avi` | Convert MP4 file to AVI | +| `ffmpeg -i input.mp4 -ss 00:00:10 -t 00:00:05 output.mp4` | Trim a video from 10 seconds to 15 seconds | +| `ffmpeg -i input.mp4 -vn output.mp3` | Extract audio from a video file | +| `ffmpeg -i input.mp4 -vf "scale=640:360" output.mp4` | Resize a video to 640x360 pixels | + +### Advanced Commands + +| Command | Description | +| --- | --- | +| `ffmpeg -i input.mp4 -filter_complex "[0:v]split[v1][v2];[v1]scale=640:360[v1out];[v2]scale=1280:720[v2out]" -map "[v1out]" -map "[v2out]" -preset ultrafast -c:v libx264 -c:a copy output.mp4` | Split a video into two different resolutions (640x360 and 1280x720) | +| `ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10" output.mp4` | Add a watermark to a video | +| `ffmpeg -i input.mp4 -af "pan=stereo|c0=c1|c1=c0" output.mp4` | Convert mono audio to stereo | +| `ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset veryslow -c:a copy -movflags +faststart output.mp4` | Encode a video with a CRF value of 23 and a very slow preset, and enable fast start for streaming | + +## ImageMagick Cheat Sheet + +ImageMagick is a powerful tool for manipulating images. + +### Basic Commands + +| Command | Description | +| --- | --- | +| `convert input.jpg output.png` | Convert a JPEG file to PNG | +| `convert input.png -resize 50% output.png` | Resize a PNG file to 50% of its original size | +| `convert input.png -rotate 45 output.png` | Rotate a PNG file by 45 degrees | +| `convert input.png -crop 100x100+10+10 output.png` | Crop a 100x100 pixel region of a PNG file, starting from the point (10,10) | + +### Advanced Commands + +| Command | Description | +| --- | --- | +| `convert input.png -morphology Convolve Sobel:1 output.png` | Apply a Sobel edge detection filter to a PNG file | +| `convert input.png -colorspace Gray -negate output.png` | Convert a PNG file to grayscale and invert its colors | +| `convert input.png -threshold 50% output.png` | Apply a binary threshold to a PNG file | +| `convert input1.png input2.png -compose Difference -composite -normalize output.png` | Compute the absolute difference between two PNG files | + +### Batch Processing with Mogrify + +ImageMagick's `mogrify` command allows you to process multiple images in a directory at once. Here are some useful commands: + +| Command | Description | +| --- | --- | +| mogrify -resize 50% *.jpg | Resize all JPEG files in the current directory to 50% of their original size | +| mogrify -format png *.jpg | Convert all JPEG files in the current directory to PNG | +| mogrify -rotate 90 *.png | Rotate all PNG files in the current directory by 90 degrees | +| mogrify -strip *.jpg | Remove EXIF data from all JPEG files in the current directory | + +Note that mogrify modifies the original files in place, so be sure to make a backup of your files before using this command + +| Command | Description| +| --- | --- | +| mogrify -resize 50% *.jpg | Resize all JPEG files in the current directory to 50% of their original size | +| mogrify -format png *.jpg | Convert all JPEG files in the current directory to PNG | +| mogrify -rotate 90 *.png | Rotate all PNG files in the current directory by 90 degrees | +| mogrify -strip *.jpg | Remove EXIF data from all JPEG files in the current directory | + +**Note that mogrify modifies the original files in place, so be sure to make a backup of your files before using this command**. diff --git a/pages/git-and-hub.md b/pages/git-and-hub.md new file mode 100644 index 0000000..55f496d --- /dev/null +++ b/pages/git-and-hub.md @@ -0,0 +1,48 @@ +title : git and github basic +author: zvevqx +published: 2025-11-22 +cat: linux +desc: ws + +... + +👾 MOST OF THIS PAGE IS DIRECT OUTPUT OF CHATGPT 3.5 + +# Git and GitHub Basics + +## What is Git? +Git is a free and open-source version control system that helps you keep track of changes made to your code over time. + +## What is GitHub? +GitHub is a web-based platform that provides hosting for Git repositories. It also offers many collaboration features such as pull requests, code reviews, and issue tracking. + +## Getting Started +To get started with Git and GitHub, follow these steps: + +1. Install Git on your computer. +2. Create a GitHub account. +3. Open your terminal or command prompt. +4. Navigate to the directory where you want to create your project. +5. Initialize a new Git repository using the command `git init`. + +## Basic Git Commands +Here are some of the basic Git commands you will need to use: + +- `git status` - shows the status of your Git repository +- `git add .` - adds all changes to the staging area +- `git commit -m "commit message"` - commits changes to the local repository with a message +- `git push` - pushes changes to the remote repository + +## Basic GitHub Commands +Here are some of the basic GitHub commands you will need to use: + +- `git clone ` - clones a repository to your local machine +- `git pull` - pulls changes from the remote repository to your local machine +- `git branch` - shows a list of branches in the repository +- `git checkout ` - switches to the specified branch +- `git merge ` - merges the specified branch with the current branch +- `git push ` - pushes changes to a specific remote branch + +## Conclusion +These are just the basics of Git and GitHub, but they should be enough to get you started with version control and collaborating with others on code. As you continue to use these tools, you will learn more advanced commands and techniques. + diff --git a/pages/info.md b/pages/info.md new file mode 100644 index 0000000..9b0e6d3 --- /dev/null +++ b/pages/info.md @@ -0,0 +1,17 @@ +title: info +author: julien + +--- + +# contact + +0460 96 28 21 +email@domain.com + +rue du sceptre 23 +1050 ixelles + +=== + +# CV + diff --git a/pages/linux101.md b/pages/linux101.md new file mode 100644 index 0000000..c1ed69e --- /dev/null +++ b/pages/linux101.md @@ -0,0 +1,244 @@ +title : Linux 101 +author: zvevqx +published: 2025-11-22 +cat: linux +desc: ws + +... + +learn more about `ssh` -> [https://www.ssh.com/ssh/](https://www.ssh.com/ssh/) + +- **linux** : + +start terminal ctrl + alt + t + +~~~ bash +ssh -p portnumber pi@er401.duckdns.org +ssh user @ distant_server.address : connection_port (default to 22 ) +~~~ + + +>⚠️ linux user : +> to copy inside the `terminal` : ctrl + shift + c +> to paste inside the `terminal` : ctrl + shift + v + +- **Osx** : + + start terminal ( 🍎 + space and search for `terminal`) + +~~~bash +ssh pi@er401.duckdns.org:22 +~~~ + +- **Windows** : +- install ```putty``` + - got to [putty download page](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html) + - `putty` will give ~~windows~~ `ssh` ability ... +- connect to: + - server: ```er401.duckdns.org``` + - port ```22``` + - user `pi` + +--- + +--- + + +## create your new `home` + +### first + +1. *create a User* +``` + sudo useradd -m -p +``` + +2. *add user to groups and privilege* + +- add user to ```admin``` list + +```bash + sudo usermod -a -G sudo yourUserName +``` + +- change shell to ```zsh``` ( optional ) + +```bash + chsh -s /bin/zsh +``` + +- exit user ```pi``` + +```bash + exit +``` + +3. *reconnect with your `username` and `password`* + +```bash + ssh YOUR_USER_NAME@er401.duckdns.org:22 +``` + +4. welcome to your new `home` + + 1. your *home folder* is in `/home/yourUserName` + 1. hint : you can check where you are with the command `pwd` (**P**rint **W**orking **D**irectory) + 2. learm about linus folder structure -> [random first article on ddg search :) ](https://linuxhandbook.com/linux-directory-structure/) + + +--- + +## create folder in ```apache``` server + +wft is `apache` : + +> apache is a http web server [wiki page](https://en.wikipedia.org/wiki/Apache_HTTP_Server) + +there other solution like [https://www.lighttpd.net/]{https://www.lighttpd.net/} + +`apache` is well documented and often the one you'll find on a web server service + + + +1. create folder first with your username +```bash + sudo mkdir -p /var/www/html/$USER +``` +2. change ownership to your user +```bash + sudo chown -R $USER:$USER /var/www/html/$USER +``` +3. make sure permissions on ```www``` are ok +```bash + sudo chmod -R 755 /var/www +``` +4. create your first webpage to serve +```bash + touch /var/www/html/$USER/index.html +``` +5. put something in it +```bash + nano /var/www/html/$USER/index.html + or + vim /var/www/html/$USER/index.html +``` + + +6. content example + + + +~~~html + + + + Welcome to my page + + + +

📡 Success!! 📡

+ + +~~~ + + + +# DO SOME STUFF + +## general `cli` commands + +### navigate + +- `.` the current directory ( folder) +- `..` the parent directory +- `man` : view the **man**ual of a command ( ex : ` man ls` ) +- `pwd ` : Use the **pwd** command to find out the path of the current working directory (folder) you’re in +- `cd` : **c**hange **d**irectory to go inside a new directory +- `ls` : **l**i**s**t the current directory content +- `cp` : to **c**o**p**y documents / folders +- `mv`: to **m**o**v**e documents / folder +- `mkdir`: **m**a**k**e **dir**ectory create a folder +- `touch`: create an empty file +- `rm` : **r**e**m**ove folder and files ***⚠️*** no return possible / read and think twice before smashing enter +- `find`: to find / search for files + +### system stuffs + +- `sudo` : **s**uper **u**ser **do** get super privileges to do system stuff ***⚠️*** `sudo` can do **ANYTHING** , even destroy system +- `du` : **d**isk **u**sage ... to see .. disk usage ( use it with `-h` argument for human readable output ) +- `top` and `htop` : to monitor system ( application / ram / cpu usage) +- `killall` : kill a process by name e:`killall firefox` will quit and kill all *firefix* process +- `uname ` : view system information ( kernel / linux version ....) +- `sudo reboot` : restart computer ( must be `sudo` to execute ) +- `sudo halt` || `sudo shutdown now` : shutdown computer ( must be `sudo`) + +### general help + +- ctrl + r : search in history for already used commands +- ctrl + c : **kill** running command +- list of softwares : [go to page](soft.html) + +## mjpeg-streamer ( video server ) + +```https://github.com/jacksonliam/mjpg-streamer``` + +[github project page](https://github.com/jacksonliam/mjpg-streamer) + +***⚠️*** don't follow the instructions during this class ( installation already done ) + +- after install + - add your user to `video` group + + ~~~bash + usermod -a -G video $USER + ~~~ + + this will give your user to access camera equipement + + - logout and back in + + - go have a look + - start server + ~~~bash + cd ~/mjpg-streamer/mjpg-streamer-experimental && ./mjpg_streamer -o "output_http.so -w ./www" -i "input_raspicam.so" + ~~~ + + - go check + + ~~~bash + #in a local network + http://IP_FOR_THE_RASPBERRY_PI:8080/?action=stream + #in that case with dyndns service ( duckdns ) and port redirection ( 666 -> 8080) + http://er401.duckdns.org:666/?action=stream + ~~~ + +# getting started with python + +==underconstruction== + +![uc](https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fi.pinimg.com%2Foriginals%2F0b%2F12%2Fd9%2F0b12d9ff85bf365bc7acde04a992d938.gif&f=1&nofb=1) + +just some code to try + +~~~python +import time +import math +x = 0 +try : + while True: + x = x+1 + time.sleep(0.5) + print(" la vlaeur de x est de = {}".format(x)) + if x>100: + x=0 + +except KeyboardInterrupt: + print('Hello user you have pressed ctrl-c button.') +~~~ + + + diff --git a/pages/ressources.md b/pages/ressources.md new file mode 100644 index 0000000..b06be2b --- /dev/null +++ b/pages/ressources.md @@ -0,0 +1,678 @@ +--- +title: RESSOURCES +author: zvevqx +published: 2023-11-22 +cat: various +desc: ws +... + + +## coding + +### learning + + +**![](pages/ressources/python.png)** + +**Dive into python** + +- reference historique +- tres complet +- disponible en plusieurs langue + +[https://diveintopython3.net/](https://diveintopython3.net/) + + + + + +**lear X in Y minutes** + +- touts les languages sous forme d'une page *help* +- bon moyen de comprendre +- support aide memoire + +[https://learnxinyminutes.com/](https://learnxinyminutes.com/) + + + + +**CodingBat** + +- `python` et `java` +- suites d'exercices corrige +- console python integre au site + +[https://codingbat.com/python](https://codingbat.com/python) + + + + + +**CodeCademy** + +- formation a `python2` gratuite +- multiple parcours d'apprentissage + + Service payant apres une periode de test et suivant les formations + +[https://www.codecademy.com/learn/learn-python](https://www.codecademy.com/learn/learn-python) + + + +### language + + +*![](pages/ressources/arduino.jpg)* +**Arduino** + +![](pages/ressources/arduino.png) + +- easy to learn +- grande communautee +- enormement de ressources et aide en ligne + +programation `hardware` sur des cartes de developpement du mm nom + +**![](pages/ressources/arduino_brd.jpeg)** + +[https://www.arduino.cc/en/Guide/ArduinoUno](https://www.arduino.cc/en/Guide/ArduinoUno) + + + + +*![](pages/ressources/processing_ico.png)* +**processing** + +![](pages/ressources/processing.png) + +> Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts. + +- base sur Java +- beaucoup de librairie et d'integration possible (ex : `arduino` via `firmata`) +- enormement de ressources et aide en ligne + +[https://processing.org/](https://processing.org/) +[getting started](https://processing.org/tutorials/) + + + + + +*![](pages/ressources/pd_logo.jpg)* +**PureData** + +![](pages/ressources/pd.png) + +- programation visuel / nodal +- grande communautee +- traiment image / video +- creation musicale + +pendant `open-source` de `max-msp` + +[https://puredata.info/](https://puredata.info/) + + + +### IDE + +#### python + + + +*![](pages/ressources/python.png)* +**Thonny** + +![thonny](pages/ressources/thonny.png) + +- `I.D.E` pour debutant +- multi OS ( `linux`, `osx`, `win`) +- interface graphique pour `pip` + +[https://thonny.org/](https://thonny.org/) + + + + + + +*![](pages/ressources/python.png)* +**idle** + +![iddle](pages/ressources/iddle.png) + +- ide pour et par `python` +- console `python` + +[https://docs.python.org/3/library/idle.html](https://docs.python.org/3/library/idle.html) + + + + + +*![programiz](pages/ressources/programiz.png)* +**programiz Online compiler** + +![programiz](pages/ressources/programizIde.png) + +- ide pour et par `python` +- console `python` + +[https://docs.python.org/3/library/idle.html](https://docs.python.org/3/library/idle.html) + + +## software ressource + +### 2D drawing / plan / edition + + + +*![](pages/ressources/inskape_ico.png)* **INKSCAPE** + +![](pages/ressources/inkscape.jpg) + +*licence* : free / opensource +*os* : linux / osx / win + +*use* vector graphic design software - illustrator like + +> +- illustration / logo / plan for cnc and laser cut +- could be use as gcode generator with **plugin** +- lots of avialable plugin (box / gear / puzzle creation ) +- import `.ai` from illustrator + +[inkscape web site ](https://inkscape.org/en/) +[getting started ](https://inkscape.org/en/learn/) + + + + + +*![](pages/ressources/librecad_ico.png)* **libreCad** + +![](pages/ressources/libreCad.png) + +*licence* free / opensource +*os* linux / osx / win + +*use*: Cad drawing / techinical - autocad like + +> +- create multiple `DXF` version to export + +[libreCad web site ](https://librecad.org/) +[getting started ](https://wiki.librecad.org/index.php?title=Main_Page) + + + + + +*![](pages/ressources/qcad_ico.jpeg)* **Qcad** + +![](pages/ressources/qcad.jpg) + +*licence* opensource / not Free (*free version avialable*) +*os* linux / osx / win + +*use* Cad drawing / technical drawing ) - autocad like + +> +- import / export `dwg` +- isometric tools +- active developpement and plugin +- `CAM` plugin for Gcode generation + +[Qcad web site ](https://www.qcad.org/en/) +[getting started ](https://www.qcad.org/doc/qcad/latest/reference/en/) + + + + + +*![](pages/ressources/gimp_ico.jpeg)* **Gimp** + +![](pages/ressources/gimo.png) + +*licence* free / opensource +*os* linux / osx / win + +*use* image manipulation / pixel drawing - photoshop like + +> +- layer and mask +- actively devellope + +[gimp web site ](https://www.gimp.org/) +[getting started ](https://www.gimp.org/tutorials/) + + + + + +*![](pages/ressources/krita.png)* **krita** + +![](pages/ressources/krita_ss.png) + +*licence* free / opensource +*os* linux / osx / win + +*use*: Dessin / annimation / illustration + +> +- gestion de palette graphique +- systeme d'animation frame par frame + +[libreCad web site ](https://krita.org/en/) +[getting started ](https://wiki.librecad.org/index.php?title=Main_Page) + + + + +*![](pages/ressources/scribus_ico.jpeg)* **Scibus** + +![](pages/ressources/scribus2.png) + +*licence* free / opensource +*os* linux / osx / win + +*use* print and book making / edition sofware - inDesign like + +> +- prepress tool +- gabarit + +[scribus website ](https://www.scribus.net/) +[getting started ](https://wiki.scribus.net/canvas/Help:TOC) + + + +### 3d software + + + +*![](pages/ressources/blender_ico.png)* **Blender** + +![](pages/ressources/blender.png) + +*licence* free / opensource +*os* linux / osx / win + +*use* 3d Modeling / animation / image creation. + +> +- light and powerfull +- lots of ressources online +- news 3d printing pannel +- all include (modeling texturing rendrering ) +- can bu use to generate 3d gcode with `blenderCam` only' on specific blender version + +[blender website ](https://www.blender.org/) +[getting started ](https://www.blender.org/support/tutorials/) + + + + + +*![](pages/ressources/openscad_ico.jpeg)* **OpenScad** + +![](pages/ressources/openscad.jpeg) + +*licence* free / opensource +*os* linux / osx / win + +*use* 3d Modeling / part creation / + +code generated drawing + +> +- light and powerfull +- parametric solid modeling + +[openscad website ](http://www.openscad.org/) +[getting started ](http://www.openscad.org/documentation.html) + + + + + +*![](pages/ressources/freecad_ico.jpeg)* **FreeCad** + +![](pages/ressources/freecad.jpeg) + +*licence* free / opensource +*os* linux / osx / win + +*use* 3d drawing / parametric design / part creation + +> +- 2d / 3d software included +- parametric solid modeling +- new `path` workbench for Gcode creation (cnc) + +[freecad website ](https://www.freecadweb.org/) +[getting started ](https://www.freecadweb.org/wiki/Getting_started) + + + + + +*![](pages/ressources/fusion_ico.jpeg)* **fusion360 autodesk** + +![](pages/ressources/fusion.jpeg) + +*licence* mountly plan / close source / *student free version* +*os* ~~linux~~ / osx / win + +no plan for a `linux` version. + +*use* 3d Modeling / part creation / parametric + +> +- powerfull +- parametric solid modeling +- widely used +- `CAM` module include + +[autodesk Fusion360 website ](https://www.autodesk.com/products/fusion-360/students-teachers-educators) + + + + + +*![](pages/ressources/tinker_ico.png)* **tinkerCad** + +![](pages/ressources/tinkercad.jpg) + +*licence* free / plan +*os* Web Browser based + +*use* 3d Modeling / part creation / + +> +- online / no installation require +- parametric solid modeling + +[tinkercad web site ](https://www.tinkercad.com/) +[getting started ](https://www.tinkercad.com/learn/) + + + +### CAM / machine control + +#### CNC / Laser + + + +*![](pages/ressources/laserweb_ico.png)* **LaserWeb4** + +![](pages/ressources/laserweb.png) + +*licence* free / opensource +*os* linux / osx / win + +*use* Cnc / laser gcode creation & machine control (GBRL 1.1f min) + +> +- light and powerfull +- All include +- easy to use +- control both *CNC* and *Laser* (`GRBL` based) + +[laserWeb4 gitHub page ](https://github.com/LaserWeb/LaserWeb4) + + + + + +**MakerCAM** + +![](pages/ressources/makercam-profile.png) + +*licence* free +*os* webBrowser app + +*use* CNC 2.5D gcode generator + +need FLASH to operate + +> +- simple and easy to use +- may cause problem in mm due to too much decimal. can be fix with python script [truncate](https://github.com/jhessig/metric-gcode-truncator) + +[makercam website ](http://makercam.com) + + + + + +*![](pages/ressources/bcnc_ico.JPG)* **Bcnc** + +![](pages/ressources/bCNC.png) + +*licence* free / openSource +*os* linux / osx / windows + +*use* CNC 2.5D gcode generator + +base on `python` + +> +- lot of feature (bed leveling /gcode editor / gcode generator / various tools ) +- grbl Based machine (`1.1f` min) + +[Bcnc gitHub Page ](https://github.com/vlachoudis/bCNC) + + + +#### 3D print + + + +*![](pages/ressources/cura.png)* **Cura** + +![](pages/ressources/cura.jpg) + +*licence* free / openSource +*os* linux / osx / windows + +*use* Generate 3d printer gcode file and control + +> +- lots of predefine printer parametre +- lots of users + +[ultimaker Cura website ](https://ultimaker.com/en/products/ultimaker-cura-software) + + + + + +*![](pages/ressources/sllicer_ico.jpeg)* **Slic3r** + +![](pages/ressources/slicer.jpg) + +*licence* free / openSource +*os* linux / osx / windows + +*use* Generate 3d printer gcode file and control + +> +- offert full control on parameter +- lots of users and documentation +- really good new feature in the prusa edition + +the new version is now from Prusa research + +[Slic3r Official website ](http://slic3r.org) +[Slic3r Prusa edition website ](https://www.prusa3d.com/slic3r-prusa-edition/) + + + + + +*![](pages/ressources/octoprint_ico.png)* **Octoprint** + +![](pages/ressources/octo-main.png) + +*licence* free / openSource +*os* linux / osx / windows + +*use* Print server for 3d printer / printer control / gcode creation from server (cura 1.5 || slicer ) + +> +- full printer monitoring +- pugin to add functionality +- run on a `raspberryPi` and doest require a laptop or sd cad to operate machine (all can be done via local network) + +[octoprint website](https://octoprint.org/) + + + +## objet ressource and download + +### 3dprint / cnc / laser files + + + +**thingiverse** + +- 3d files (stl) objet and part +- laser and cnc objet and part +- some parametric model (*openScad*) + +[thingiverse](https://www.thingiverse.com/) + +**youimagine** + +- 3d files (stl) objet and part +- laser and cnc objet and part + +[youimagine](https://www.youmagine.com/) + +**myminifactory** + +- 3d files ready to print + +[myminifactory](https://www.myminifactory.com/) + + + +### Tutorial / howto + + + +**instructable** + +- all the tutorial you can think of +- arduino +- diy +- robot ... + +[instructable ](https://www.instructables.com/) + + + +### VARIOUS ONLINE RESSOURCES + +`Posted by u/morphfiend` + +#### Fusion360 + +- Lars Christensen - [https://www.youtube.com/user/cadcamstuff/playlists](https://www.youtube.com/user/cadcamstuff/playlists) +- Start with the basics - [https://www.youtube.com/playlist?list=PLmA_xUT-8UlLmTvSAketheHaNQWxNA5yT](https://www.youtube.com/playlist?list=PLmA_xUT-8UlLmTvSAketheHaNQWxNA5yT) +- Quick Tips & Best practices - [https://www.youtube.com/playlist?list=PLmA_xUT-8UlIh4hHJDCEDLPi3wQiMrPRY](https://www.youtube.com/playlist?list=PLmA_xUT-8UlIh4hHJDCEDLPi3wQiMrPRY) +- Fusion 360 in 90 minutes - [https://academy.autodesk.com/course/129267/introduction-cad-learn-fusion-360-90-minutes](https://academy.autodesk.com/course/129267/introduction-cad-learn-fusion-360-90-minutes) +- Autodesk Academy - [https://academy.autodesk.com/software/fusion-360](https://academy.autodesk.com/software/fusion-360) +- Fusion 360 Parameters - [http://help.autodesk.com/view/fusion360/ENU/?guid=GUID-76272551-3275-46C4-AE4D-10D58B408C20](http://help.autodesk.com/view/fusion360/ENU/?guid=GUID-76272551-3275-46C4-AE4D-10D58B408C20) + +#### OnShape + +- OnShape Tutorials - [https://www.onshape.com/videos/topic/tutorials](https://www.onshape.com/videos/topic/tutorials) +- OnShape Tech Tips - [https://www.onshape.com/videos/topic/tech-tips](https://www.onshape.com/videos/topic/tech-tips) +- CADSessions - [https://www.youtube.com/channel/UCVkrWFAz_F9mYhs3Q1V7ahA/video](https://www.youtube.com/channel/UCVkrWFAz_F9mYhs3Q1V7ahA/video) + +#### OpenSCAD + +- Cheat sheet - [http://www.openscad.org/documentation.html](http://www.openscad.org/documentation.html) +- Paul Randall (does OpenSCAD and freecad) - [https://www.youtube.com/channel/UCnxMaGMCrWAQgwF61ISRpGw/](https://www.youtube.com/channel/UCnxMaGMCrWAQgwF61ISRpGw/) +- OpenSCAD beginners tutorial - [http://edutechwiki.unige.ch/en/OpenScad_beginners_tutorial](http://edutechwiki.unige.ch/en/OpenScad_beginners_tutorial) + +#### Rhino 3D + +- Basics - [http://www.rhino3d.com/getting-started](http://www.rhino3d.com/getting-started) +- Preparing for 3D Printing - [https://wiki.mcneel.com/rhino/3dprinting](https://wiki.mcneel.com/rhino/3dprinting) +- Prepare your model for 3D Printing with Rhinoceros - [https://www.sculpteo.com/en/tutorial/prepare-your-model-3d-printing-rhinoceros/](https://www.sculpteo.com/en/tutorial/prepare-your-model-3d-printing-rhinoceros/) +- Advanced Rhino and Grasshopper recorded college classes - [https://www.youtube.com/user/nsenske/playlists](https://www.youtube.com/user/nsenske/playlists) + +#### FreeCAD + +- FreeCAD tutorials - [https://www.freecadweb.org/wiki/Category:Tutorials](https://www.freecadweb.org/wiki/Category:Tutorials) +- cad1919 (It is in a different language but uses graphics to help )- [https://www.youtube.com/user/cad1919/playlists](https://www.youtube.com/user/cad1919/playlists) +- Invent Box Tutorials - [https://www.youtube.com/playlist?list=PL2935W76vRNFvUGefQr3q9P9eezJZyj-u](https://www.youtube.com/playlist?list=PL2935W76vRNFvUGefQr3q9P9eezJZyj-u) + +### 3D Modeling + +#### Blender 2.7 + +- BlenderGuru - [https://www.blenderguru.com](https://www.blenderguru.com) +- Blendtuts - [https://www.blendtuts.com/tutorials/](https://www.blendtuts.com/tutorials/) +- CGCookies Blender Basics - [https://cgcookie.com/course/blender-basics](https://cgcookie.com/course/blender-basics) +- GameDevTV Complete Blender Course(Paid)- [https://www.udemy.com/blendertutorial/](https://www.udemy.com/blendertutorial/) +- Blender Tutorial - [https://www.blender.org/support/tutorials/](https://www.blender.org/support/tutorials/) +- Blender Fundamentals - [https://www.youtube.com/playlist?list=PLa1F2ddGya_8V90Kd5eC5PeBjySbXWGK1](https://www.youtube.com/playlist?list=PLa1F2ddGya_8V90Kd5eC5PeBjySbXWGK1) + +#### Blender 2.8 + +- YanSculpts - [https://www.youtube.com/playlist?list=PLvPwLecDlWRD_VK_2INC1VQ18dZdpDwLi](https://www.youtube.com/playlist?list=PLvPwLecDlWRD_VK_2INC1VQ18dZdpDwLi) +- BlenderGuru 2.8 - [https://www.youtube.com/playlist?list=PLjEaoINr3zgH1JI7FtPX_Q9OGFhP-HCUV](https://www.youtube.com/playlist?list=PLjEaoINr3zgH1JI7FtPX_Q9OGFhP-HCUV) +- CG Masters (Paid) - [https://cgmasters.net/training-courses/hard-surface-modeling-in-blender/](https://cgmasters.net/training-courses/hard-surface-modeling-in-blender/) + +#### 3ds Max + +- TopHATTwaffle - [https://www.youtube.com/playlist?list=PL-454Fe3dQH1WKJEL96bzelfn_2pxYjgf](https://www.youtube.com/playlist?list=PL-454Fe3dQH1WKJEL96bzelfn_2pxYjgf) +- Autodesk 3ds max learning channel - [https://www.youtube.com/user/3dsMaxHowTos/playlists](https://www.youtube.com/user/3dsMaxHowTos/playlists) +- Autodesk getting started in 3ds Max - [https://area.autodesk.com/tutorials/series/getting-started-in-3ds-max-2018/](https://area.autodesk.com/tutorials/series/getting-started-in-3ds-max-2018/) +- Edge3Dcgi - [https://youtu.be/Q_Ks3QdmfvA](https://youtu.be/Q_Ks3QdmfvA) +- Arrimus 3d - [https://www.youtube.com/playlist?list=PLxt9ZAGPLIpeB8TcHrpzxvEI4Ve3SfZBC](https://www.youtube.com/playlist?list=PLxt9ZAGPLIpeB8TcHrpzxvEI4Ve3SfZBC) + +#### 3D Sculpting +Blender Sculpting + +- Grant Abbitt - [https://youtu.be/L3XtAFUWNuk](https://youtu.be/L3XtAFUWNuk) +- YanSculpts - [https://youtu.be/N4D6F7mhi4I](https://youtu.be/N4D6F7mhi4I) + +#### Sculptrius + +- pixologic (near the bottome of the page) - [http://pixologic.com/sculptris/](http://pixologic.com/sculptris/) +- Mr.Brooks - [https://vimeo.com/61128359](https://vimeo.com/61128359) +- Sculptris cheat sheet - [http://members.casema.nl/jw.v.dronkelaar/sculptris_cheat_sheet.pdf](http://members.casema.nl/jw.v.dronkelaar/sculptris_cheat_sheet.pdf) + +#### 3DCoat + +- alienminefield - [https://www.youtube.com/playlist?list=PL17Z03Lf1lyKZsHLvg27ZP0kzVR_mvLpX](https://www.youtube.com/playlist?list=PL17Z03Lf1lyKZsHLvg27ZP0kzVR_mvLpX) +- 3dcoat learn - [https://3dcoat.com/learn/](https://3dcoat.com/learn/) +- gamedev the pipline - [https://youtu.be/_Mw3yv3hk38](https://youtu.be/_Mw3yv3hk38) +- Pluralsight (Paid) - [https://www.pluralsight.com/courses/3d-coat-getting-started-2487](https://www.pluralsight.com/courses/3d-coat-getting-started-2487) + +#### zBrush + +- ZClassroom - [https://pixologic.com/zclassroom/](https://pixologic.com/zclassroom/) +- Zbrushtuts - [http://zbrushtuts.com/](http://zbrushtuts.com/) +- Zbrush for beginners - [https://www.youtube.com/watch?v=PO--0h8XHiw](https://www.youtube.com/watch?v=PO--0h8XHiw) +- Edge-CGI 3D tutorials - [https://www.youtube.com/user/Edge3Dcgi/playlists](https://www.youtube.com/user/Edge3Dcgi/playlists) +- Twitch for Pixologic - [https://www.twitch.tv/pixologic](https://www.twitch.tv/pixologic) +- flippednormals - [https://youtu.be/_yKGfcp2z3k](https://youtu.be/_yKGfcp2z3k) + +#### Covers multiple pieces of software + +- Gnomon workshop (Paid) - [https://www.thegnomonworkshop.com/](https://www.thegnomonworkshop.com/) + +#### Special caseMeshmixer + +- Maker's Muse - [https://youtu.be/C9VDKb3W4qA](https://youtu.be/C9VDKb3W4qA) +- Teaching Tech - [https://youtu.be/3GGnwDCFfv0](https://youtu.be/3GGnwDCFfv0) +- Sculpteo - [https://youtu.be/WwIM4Fp2SgA](https://youtu.be/WwIM4Fp2SgA) + + diff --git a/pages/ressources/arduino.jpg b/pages/ressources/arduino.jpg new file mode 100644 index 0000000..d5c7a2b Binary files /dev/null and b/pages/ressources/arduino.jpg differ diff --git a/pages/ressources/arduino.png b/pages/ressources/arduino.png new file mode 100644 index 0000000..bdf9995 Binary files /dev/null and b/pages/ressources/arduino.png differ diff --git a/pages/ressources/arduino_brd.jpeg b/pages/ressources/arduino_brd.jpeg new file mode 100644 index 0000000..37112e2 Binary files /dev/null and b/pages/ressources/arduino_brd.jpeg differ diff --git a/pages/ressources/bCNC.png b/pages/ressources/bCNC.png new file mode 100644 index 0000000..7e6f39f Binary files /dev/null and b/pages/ressources/bCNC.png differ diff --git a/pages/ressources/bcnc_ico.JPG b/pages/ressources/bcnc_ico.JPG new file mode 100644 index 0000000..619628f Binary files /dev/null and b/pages/ressources/bcnc_ico.JPG differ diff --git a/pages/ressources/blender.jpg b/pages/ressources/blender.jpg new file mode 100644 index 0000000..e7c5293 Binary files /dev/null and b/pages/ressources/blender.jpg differ diff --git a/pages/ressources/blender.png b/pages/ressources/blender.png new file mode 100644 index 0000000..f5a82f4 Binary files /dev/null and b/pages/ressources/blender.png differ diff --git a/pages/ressources/blender_ico.png b/pages/ressources/blender_ico.png new file mode 100644 index 0000000..3911c24 Binary files /dev/null and b/pages/ressources/blender_ico.png differ diff --git a/pages/ressources/cura.jpg b/pages/ressources/cura.jpg new file mode 100644 index 0000000..cbb1a4f Binary files /dev/null and b/pages/ressources/cura.jpg differ diff --git a/pages/ressources/cura.png b/pages/ressources/cura.png new file mode 100644 index 0000000..c311b86 Binary files /dev/null and b/pages/ressources/cura.png differ diff --git a/pages/ressources/freecad.jpeg b/pages/ressources/freecad.jpeg new file mode 100644 index 0000000..8778948 Binary files /dev/null and b/pages/ressources/freecad.jpeg differ diff --git a/pages/ressources/freecad_ico.jpeg b/pages/ressources/freecad_ico.jpeg new file mode 100644 index 0000000..c4460e6 Binary files /dev/null and b/pages/ressources/freecad_ico.jpeg differ diff --git a/pages/ressources/fusion.jpeg b/pages/ressources/fusion.jpeg new file mode 100644 index 0000000..b779587 Binary files /dev/null and b/pages/ressources/fusion.jpeg differ diff --git a/pages/ressources/fusion_ico.jpeg b/pages/ressources/fusion_ico.jpeg new file mode 100644 index 0000000..42515eb Binary files /dev/null and b/pages/ressources/fusion_ico.jpeg differ diff --git a/pages/ressources/gimo.png b/pages/ressources/gimo.png new file mode 100644 index 0000000..ed5f38c Binary files /dev/null and b/pages/ressources/gimo.png differ diff --git a/pages/ressources/gimp_ico.jpeg b/pages/ressources/gimp_ico.jpeg new file mode 100644 index 0000000..1846460 Binary files /dev/null and b/pages/ressources/gimp_ico.jpeg differ diff --git a/pages/ressources/iddle.png b/pages/ressources/iddle.png new file mode 100644 index 0000000..d2ac3bc Binary files /dev/null and b/pages/ressources/iddle.png differ diff --git a/pages/ressources/inkscape.jpg b/pages/ressources/inkscape.jpg new file mode 100644 index 0000000..e5978bb Binary files /dev/null and b/pages/ressources/inkscape.jpg differ diff --git a/pages/ressources/inskape_ico.png b/pages/ressources/inskape_ico.png new file mode 100644 index 0000000..dbfae51 Binary files /dev/null and b/pages/ressources/inskape_ico.png differ diff --git a/pages/ressources/junjiito_uzumaki.jpg b/pages/ressources/junjiito_uzumaki.jpg new file mode 100644 index 0000000..b60ff93 Binary files /dev/null and b/pages/ressources/junjiito_uzumaki.jpg differ diff --git a/pages/ressources/krita.png b/pages/ressources/krita.png new file mode 100644 index 0000000..f78f05d Binary files /dev/null and b/pages/ressources/krita.png differ diff --git a/pages/ressources/krita_ss.png b/pages/ressources/krita_ss.png new file mode 100644 index 0000000..fe94e3d Binary files /dev/null and b/pages/ressources/krita_ss.png differ diff --git a/pages/ressources/laserweb.png b/pages/ressources/laserweb.png new file mode 100644 index 0000000..c5d2a7b Binary files /dev/null and b/pages/ressources/laserweb.png differ diff --git a/pages/ressources/laserweb_ico.png b/pages/ressources/laserweb_ico.png new file mode 100644 index 0000000..8340c88 Binary files /dev/null and b/pages/ressources/laserweb_ico.png differ diff --git a/pages/ressources/libreCad.png b/pages/ressources/libreCad.png new file mode 100644 index 0000000..e88e8ad Binary files /dev/null and b/pages/ressources/libreCad.png differ diff --git a/pages/ressources/librecad.jpeg b/pages/ressources/librecad.jpeg new file mode 100644 index 0000000..8b8f062 Binary files /dev/null and b/pages/ressources/librecad.jpeg differ diff --git a/pages/ressources/librecad_ico.png b/pages/ressources/librecad_ico.png new file mode 100644 index 0000000..bf8c994 Binary files /dev/null and b/pages/ressources/librecad_ico.png differ diff --git a/pages/ressources/makercam-profile.png b/pages/ressources/makercam-profile.png new file mode 100644 index 0000000..531306e Binary files /dev/null and b/pages/ressources/makercam-profile.png differ diff --git a/pages/ressources/octo-main.png b/pages/ressources/octo-main.png new file mode 100644 index 0000000..be3a839 Binary files /dev/null and b/pages/ressources/octo-main.png differ diff --git a/pages/ressources/octoprint_ico.png b/pages/ressources/octoprint_ico.png new file mode 100644 index 0000000..41f1093 Binary files /dev/null and b/pages/ressources/octoprint_ico.png differ diff --git a/pages/ressources/openscad.jpeg b/pages/ressources/openscad.jpeg new file mode 100644 index 0000000..c9f945c Binary files /dev/null and b/pages/ressources/openscad.jpeg differ diff --git a/pages/ressources/openscad_ico.jpeg b/pages/ressources/openscad_ico.jpeg new file mode 100644 index 0000000..ab43455 Binary files /dev/null and b/pages/ressources/openscad_ico.jpeg differ diff --git a/pages/ressources/pd.png b/pages/ressources/pd.png new file mode 100644 index 0000000..9a705c0 Binary files /dev/null and b/pages/ressources/pd.png differ diff --git a/pages/ressources/pd_logo.jpg b/pages/ressources/pd_logo.jpg new file mode 100644 index 0000000..a5ddaf0 Binary files /dev/null and b/pages/ressources/pd_logo.jpg differ diff --git a/pages/ressources/processing.png b/pages/ressources/processing.png new file mode 100644 index 0000000..a39b87d Binary files /dev/null and b/pages/ressources/processing.png differ diff --git a/pages/ressources/processing_ico.png b/pages/ressources/processing_ico.png new file mode 100644 index 0000000..c42cc68 Binary files /dev/null and b/pages/ressources/processing_ico.png differ diff --git a/pages/ressources/programiz.png b/pages/ressources/programiz.png new file mode 100644 index 0000000..59085fe Binary files /dev/null and b/pages/ressources/programiz.png differ diff --git a/pages/ressources/programizIde.png b/pages/ressources/programizIde.png new file mode 100644 index 0000000..aa5b3f1 Binary files /dev/null and b/pages/ressources/programizIde.png differ diff --git a/pages/ressources/python.png b/pages/ressources/python.png new file mode 100644 index 0000000..848a7ef Binary files /dev/null and b/pages/ressources/python.png differ diff --git a/pages/ressources/qcad.jpg b/pages/ressources/qcad.jpg new file mode 100644 index 0000000..a111ff0 Binary files /dev/null and b/pages/ressources/qcad.jpg differ diff --git a/pages/ressources/qcad_ico.jpeg b/pages/ressources/qcad_ico.jpeg new file mode 100644 index 0000000..7ad6d86 Binary files /dev/null and b/pages/ressources/qcad_ico.jpeg differ diff --git a/pages/ressources/scribus2.png b/pages/ressources/scribus2.png new file mode 100644 index 0000000..13f7670 Binary files /dev/null and b/pages/ressources/scribus2.png differ diff --git a/pages/ressources/scribus_ico.jpeg b/pages/ressources/scribus_ico.jpeg new file mode 100644 index 0000000..43077a2 Binary files /dev/null and b/pages/ressources/scribus_ico.jpeg differ diff --git a/pages/ressources/slicer.jpg b/pages/ressources/slicer.jpg new file mode 100644 index 0000000..2118c35 Binary files /dev/null and b/pages/ressources/slicer.jpg differ diff --git a/pages/ressources/sllicer_ico.jpeg b/pages/ressources/sllicer_ico.jpeg new file mode 100644 index 0000000..79ce97d Binary files /dev/null and b/pages/ressources/sllicer_ico.jpeg differ diff --git a/pages/ressources/thonny.png b/pages/ressources/thonny.png new file mode 100644 index 0000000..a1dcb51 Binary files /dev/null and b/pages/ressources/thonny.png differ diff --git a/pages/ressources/tinker_ico.png b/pages/ressources/tinker_ico.png new file mode 100644 index 0000000..9091fb0 Binary files /dev/null and b/pages/ressources/tinker_ico.png differ diff --git a/pages/ressources/tinkercad.jpg b/pages/ressources/tinkercad.jpg new file mode 100644 index 0000000..9a617e7 Binary files /dev/null and b/pages/ressources/tinkercad.jpg differ diff --git a/pages/rpi_headless.md b/pages/rpi_headless.md new file mode 100644 index 0000000..a8ae43b --- /dev/null +++ b/pages/rpi_headless.md @@ -0,0 +1,83 @@ +title : Raspberry pi headless setup 2023 +author: zvevqx +published: 2023-09-23 +cat: linux +desc: base commands to setup a rasbperrypi headless as rasbian 2023 + +... + +main source +[https://www.raspberrypi.com/news/raspberry-pi-bullseye-update-april-2022/](https://www.raspberrypi.com/news/raspberry-pi-bullseye-update-april-2022/) + + +# Flashing the SD card + +## the cli way on linux + +*you will need:* + + - sdcard (8go min) + - sdcard reader + +*findind your sd card on the system* + + +use the `lsblk` command to get the path to your sd card + + +on Unix system (`linux`,`osx`) it sould look like : `/dev/sdX` +if not sure execute `lsblk` with and without the sdcard inserted and compare + +### download os +download the proper version from Raspberry pi website [link to website](https://www.raspberrypi.com/software/operating-systems/) + +### burn it to the sd card with the `dd` command +🚨 this operation need `sudo` privileges ... be carefull + +`sudo dd if=PATH/TO/YOUR/IMAGEFILE.img of=PATH/TO/YOUR/SDCARD status=progress oflag=sync` + +and wait + + ***done🤞*** + +## The Gui way + +download and install `rpi-imager` software on your computer and follow allong + +for linux +`sudo apt install rpi-imager` + +link [https://www.raspberrypi.com/software/](https://www.raspberrypi.com/software/) + + +--- + +# Enable `ssh` + +create an ampty file on the `bootfs` partition of the sd card + +cli +` touch /PATH/TO/THE/PARTITION/ssh` + +--- + +# Create user and password + +Use `OpenSSL` to encrypt a password: + `echo 'raspi_users_password' | openssl passwd -6 -stdin` + +Create a file named `userconf` in the root directory of the SD card’s boot partition + +` touch /PATH/TO/THE/PARTITION/userconf` + +Add a line of text to the new file in the following format: `username:encrypted_password` + where username is the username you want to use to log in to the Rpi, and encrypted_password is the string generated with OpenSSL. + +example + `julien:we342swe4422e@343w44@4453@3456` + + + + + + diff --git a/pages/shop.md b/pages/shop.md new file mode 100644 index 0000000..08b1cf6 --- /dev/null +++ b/pages/shop.md @@ -0,0 +1,28 @@ +title : shopping website +author: zvevqx +published: 2025-11-22 +cat: Hardware +desc: short list of online store + +... + +# electronic and motion +## electronic stuff and components + +- [https://www.kiwi-electronics.com/en/home](https://www.kiwi-electronics.com/en/home) NL +- [https://www.reichelt.com/fr/fr/](https://www.reichelt.com/fr/fr/) de +- [https://shop.mchobby.be/en/](https://shop.mchobby.be/en/) be +- [https://boutique.semageek.com/en/](https://boutique.semageek.com/en/) fr + + +## motor motion and mecanics + +- [https://www.robotdigg.com](https://www.robotdigg.com) cn +- [https://ratrig.com](https://ratrig.com) es + +## 3d printing + +- [https://reprapworld.com/](https://reprapworld.com/)dk +- [https://fepshop.com/](https://fepshop.com/)nl + + diff --git a/pages/softList.md b/pages/softList.md new file mode 100644 index 0000000..3170de3 --- /dev/null +++ b/pages/softList.md @@ -0,0 +1,91 @@ +title : software +author: zvevqx +published: 2021-11-22 +cat: linux +desc: ws + +... + +## wip list of software to look at + + +## cli tools + +**potrace**: +vectorisation tool ( like vetorisation dynamique in `illustrator` ) +[potrace website](http://potrace.sourceforge.net/) + +**imagemagick**: +swiss army knife image modification ( batch ... ) +[imagemagick website](https://imagemagick.org/index.php) + + + +## WM / DE + +**i3vm**: +light window manager full option see also i3gap + +**dwm**: +[suckless.org](suckless.org) ultralight wm + + + + +## File manager + +### command line + +**nnn**: +ultra light file manager [nnn github](https://github.com/jarun/nnn) +**ranger**: +python light file manager + +**mc**: +midnight commander cli + +### gui + +**pcmanfm**: +light and fast fm + +**krusader**: +Mc like fm + + + +## Web browser + +### cli + +**lynkx**: +cli web browser + +### gui + +**surf**:webkit based simple webbroser by [suckless.org](suckless.org) + +**quteBrowser**: +keyboard driven web browser [website](https://qutebrowser.org) + +## images viewers + +**sxiv**: +simple X images viewer + +**Feh**: +light image viewer + +**zathura**: +light pdf / eps / gs viewer + +## various tools + +**SCIM**: +Vim based Speadsheet editor + +**Entr**: +pipe automatisation for almost everything + +**Calcurse**: +calc and todo list in cli with vim binding diff --git a/pages/test.md b/pages/test.md new file mode 100644 index 0000000..1ed99d3 --- /dev/null +++ b/pages/test.md @@ -0,0 +1,38 @@ +title : galerie test +author: zvevqx +published: 2021-11-22 +cat: template +desc: ws + +... + + + + +# fail + + +![bliblabouuuu](https://cdn3.photoblogstop.com/wp-content/uploads/2012/07/Sierra_HDR_DFX8048_2280x819_Q40_wm_mini-1726x819__-1140x541.jpg) + +Her father remarried while at Burma and Kuntala returned to Odisha with her Mother. She settled in Khurdha with her mother after returning from Burma. In spite of total lack of women's education her mother's perseverance allowed her to receive a good education. She studied from Ravenshaw Girls High School and continued her education in Orissa Medical School, Cuttack (Now Srirama Chandra Bhanja Medical College and Hospital). She earned her L.M.P (Licentiate Medical Practitioners) degree in 1921 with a gold medal. She was fluent in Odia, Hindi, Bengali, English and Burmese.[5] Her father remarried while at Burma and Kuntala returned to Odisha with her Mother. She settled in Khurdha with her mother after returning from Burma. In spite of total lack of women's education her mother's perseverance allowed her to receive a good education. She studied from Ravenshaw Girls High School and continued her education in Orissa Medical School, Cuttack (Now Srirama Chandra Bhanja Medical College and Hospital). She earned her L.M.P (Licentiate Medical Practitioners) degree in 1921 with a gold medal. She was fluent in Odia, Hindi, Bengali, English and Burmese.[5] Her father remarried while at Burma and Kuntala returned to Odisha with her Mother. She settled in Khurdha with her mother after returning from Burma. In spite of total lack of women's education her mother's perseverance allowed her to receive a good education. She studied from Ravenshaw Girls High School and continued her education in Orissa Medical School, Cuttack (Now Srirama Chandra Bhanja Medical College and Hospital). She earned her L.M.P (Licentiate Medical Practitioners) degree in 1921 with a gold medal. She was fluent in Odia, Hindi, Bengali, English and Burmese.[5] Her father remarried while at Burma and Kuntala returned to Odisha with her Mother. She settled in Khurdha with her mother after returning from Burma. In spite of total lack of women's education her mother's perseverance allowed her to receive a good education. She studied from Ravenshaw Girls High School and continued her education in Orissa Medical School, Cuttack (Now Srirama Chandra Bhanja Medical College and Hospital). She earned her L.M.P + +some code ( add 1 **tab** before every line ) + + def Liste_cat(): + articles = (p for p in pages if 'published' in p.meta) + catList = [] + for a in articles: + catList.append(a.meta['cat']) + catList = list(dict.fromkeys(catList)) + return catList + + +[un lien](https://google.com) + +- lest +- tewt +- trie + + + +yyEach of these objects is associated to a path: the slash-separated (whatever the OS) name of the file it was loaded from, relative to the pages root, and excluding the extension. For example, for an app in diff --git a/pages/test/atomic_01.jpg b/pages/test/atomic_01.jpg new file mode 100644 index 0000000..0897a14 Binary files /dev/null and b/pages/test/atomic_01.jpg differ diff --git a/pages/test/curiosity_selfie.jpg b/pages/test/curiosity_selfie.jpg new file mode 100644 index 0000000..0d25899 Binary files /dev/null and b/pages/test/curiosity_selfie.jpg differ diff --git a/pages/test/jjt.jpg b/pages/test/jjt.jpg new file mode 100644 index 0000000..ee7cbc8 Binary files /dev/null and b/pages/test/jjt.jpg differ diff --git a/pages/variousCli.md b/pages/variousCli.md new file mode 100644 index 0000000..d485f84 --- /dev/null +++ b/pages/variousCli.md @@ -0,0 +1,20 @@ +title : Various cli onliner tools +author: zvevqx +published: 2025-11-22 +cat: linux +desc: differents one line ( or more ) command to do differents stuff + +... + + +# various utility + +## cd / dvd rip + +### cd audio tools + +*cdparanoia* + +`cdda2wav -vall cddb=-1 speed=4 -paranoia paraopts=proof -J -B -D /dev/sr0` + + diff --git a/pages/vimavim.md b/pages/vimavim.md new file mode 100644 index 0000000..54a0293 --- /dev/null +++ b/pages/vimavim.md @@ -0,0 +1,107 @@ +title : VIM basics +author: zvevqx +published: 2025-11-22 +cat: linux +desc: ws + +... + + +👾 MOST OF THIS PAGE IS DIRECT OUTPUT OF CHATGPT 3.5 + +# Vim Editor + +Vim is a powerful and popular text editor that runs in the command-line interface. It is known for its efficient and customizable editing features that allow users to edit text with speed and precision. + +# Main Vim Operations + + +| Operation | Shortcut | Description | +|-------------------------|---------------------------|----------------------------------------------------| +| **Navigation** | | | +| Move left | `h` | Move the cursor left. | +| Move down | `j` | Move the cursor down. | +| Move up | `k` | Move the cursor up. | +| Move right | `l` | Move the cursor right. | +| Move forward one word | `w` | Move forward one word. | +| Move backward one word | `b` | Move backward one word. | +| Move to end of line | `$` | Move to the end of the current line. | +| Move to beginning | `0` | Move to the beginning of the current line. | +| Move to end of file | `G` | Move to the end of the file. | +| Move to beginning of file | `gg` | Move to the beginning of the file. | +| Move to specific line | `G` | Move to a specific line number. | +| Move to matching bracket| `%` | Move to the matching parenthesis, bracket, or brace.| +| Move to paragraph start | `{` | Move to the beginning of the current paragraph. | +| Move to paragraph end | `}` | Move to the end of the current paragraph. | +| Move half a page up | `Ctrl+u` | Move half a page up. | +| Move half a page down | `Ctrl+d` | Move half a page down. | +| **Editing** | | | +| Insert before cursor | `i` | Insert text before the cursor. | +| Insert at line start | `I` | Insert text at the beginning of the current line. | +| Append after cursor | `a` | Append text after the cursor. | +| Append at line end | `A` | Append text at the end of the current line. | +| Open line below cursor | `o` | Open a new line below the current line and enter insert mode. | +| Open line above cursor | `O` | Open a new line above the current line and enter insert mode. | +| Delete character | `x` | Delete the character under the cursor. | +| Delete current line | `dd` | Delete the current line. | +| Yank (copy) current line| `yy` | Yank (copy) the current line. | +| Paste after cursor | `p` | Paste the yanked text after the cursor. | +| Paste before cursor | `P` | Paste the yanked text before the cursor. | +| Undo | `u` | Undo the last change. | +| Redo | `Ctrl+r` | Redo the last change. | +| **Search and Replace** | | | +| Search forward | `/search_term` | Search forward for "search_term." | +| Search backward | `?search_term` | Search backward for "search_term." | +| Move to next search result | `n` | Move to the next search result. | +| Move to previous search result | `N` | Move to the previous search result. | +| Replace on current line | `:s/search_term/replacement`| Replace "search_term" with "replacement" on the current line. | +| Global replace | `:%s/search_term/replacement/g` | Replace "search_term" with "replacement" globally in the file. | +| Turn off search highlighting | `:noh` | Turn off search result highlighting. | +| **Saving and Quitting** | | | +| Save | `:w` | Save the current file. | +| Save as | `:w filename` | Save the current file as "filename." | +| Quit | `:q` | Quit Vim. | +| Quit without saving | `:q!` | Quit Vim without saving changes. | +| Save and quit | `:wq` | Save changes and quit Vim. | +| **Visual Mode** | | | +| Enter visual mode | `v` | Enter visual mode to select text. | +| Enter visual line mode | `V` | Enter visual line mode to select lines. | +| Enter visual block mode | `Ctrl+v` | Enter visual block mode to select rectangular blocks of text. | + + +## some more advance mouvments + +# Page and Line Movement Shortcuts in Vim + +Vim provides a rich set of keyboard shortcuts for efficient page and line movement within a text document. Below is a table of these shortcuts: + +| Shortcut | Description | +|------------------------|---------------------------------------------------| +| **Page Movement** | | +| Page down | `Ctrl+f` or `Space` | +| Page up | `Ctrl+b` or `Ctrl+u` | +| Half a page down | `Ctrl+d` | +| Half a page up | `Ctrl+u` | +| Go to next page | `Ctrl+d` or `Ctrl+f` | +| Go to previous page | `Ctrl+u` or `Ctrl+b` | +| **Line Movement** | | +| Move to beginning of line | `0` or `^` | +| Move to end of line | `$` | +| Move to next line | `j` or `↓` | +| Move to previous line | `k` or `↑` | +| Move down by `n` lines | `n` + `j` or `n` + `↓` | +| Move up by `n` lines | `n` + `k` or `n` + `↑` | +| Move to specific line | `:` or `G` + `g` + `:` | +| **Scrolling** | | +| Scroll the screen up | `Ctrl+y` | +| Scroll the screen down | `Ctrl+e` | +| Center the screen | `Ctrl+l` | +| Move to the top | `H` | +| Move to the middle | `M` | +| Move to the bottom | `L` | +| **Jumping** | | +| Jump to beginning of file | `gg` | +| Jump to end of file | `G` | +| Jump to line in the middle | `M` + `G` | +| Jump to last edit | `'` + `.` | + diff --git a/req.txt b/req.txt new file mode 100644 index 0000000..c0d8fdd --- /dev/null +++ b/req.txt @@ -0,0 +1,11 @@ +blinker==1.6.2 +click==8.1.7 +Flask==2.3.3 +Flask-FlatPages==0.8.1 +itsdangerous==2.1.2 +Jinja2==3.1.2 +Markdown==3.4.4 +MarkupSafe==2.1.3 +PyYAML==6.0.1 +six==1.16.0 +Werkzeug==2.3.7 diff --git a/static/img/def.jpg b/static/img/def.jpg new file mode 100644 index 0000000..5bb4aac Binary files /dev/null and b/static/img/def.jpg differ diff --git a/static/img/laike.png b/static/img/laike.png new file mode 100644 index 0000000..99917ef Binary files /dev/null and b/static/img/laike.png differ diff --git a/static/index.html b/static/index.html new file mode 100644 index 0000000..f7fcaae --- /dev/null +++ b/static/index.html @@ -0,0 +1,33 @@ + + + + + + + to do this - do that + + + + + {% include 'menu.html' %} + +
+ +
+ + + + diff --git a/static/main.js b/static/main.js new file mode 100644 index 0000000..8551586 --- /dev/null +++ b/static/main.js @@ -0,0 +1,21 @@ +$(document).ready(function(){ + wimg = $(".img_container").width(); + console.log(wimg); + $(".img_container").css("height",wimg); + + $(window).resize(function(){ + wimg = $(".img_container").width(); + console.log(wimg); + $(".img_container").css("height",wimg); + }) + + + $('#gal .img_container img').click(function(){ + // $(" #gal .img_container").removeClass("fullImg"); + $(this).parent().toggleClass("fullImg"); + }); + +}) + + + diff --git a/static/style.bak b/static/style.bak new file mode 100644 index 0000000..27188f6 --- /dev/null +++ b/static/style.bak @@ -0,0 +1,52 @@ +@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,500;0,800;1,400&display=swap'); + + + +body{ + font-family: 'Open Sans', sans-serif; +} +a { + text-decoration : none ; + color : #000; +} + +#works { + display : grid ; + grid-template-columns: 1fr 1fr 1fr 1fr 1fr; + //column-gap: 10px; + //row-gap : 10px; +} + +.work{ + position:relative; + overflow:hidden; +} + +#works .work .wimg { + height : 250px; + overflow:hidden; + display:grid; +} + +#works .work .wimg img { + width : 130%; + place-self: center; +} + +.wdesc { + background:rgba(255,255,255,0.5); + border-radius: 10px; + position: absolute; + left : -100%; + padding :10px; + bottom:20px; + transition : all 0.3s linear ; + opacity : 0 ; +} + + +.work:hover .wdesc { + left:10px; + opacity : 1 ; +} + diff --git a/static/style.css b/static/style.css new file mode 100644 index 0000000..78256f4 --- /dev/null +++ b/static/style.css @@ -0,0 +1,345 @@ +@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,500;0,800;1,400&display=swap'); +@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.3/font/bootstrap-icons.css"); +@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600&display=swap'); + +*{ + font-family:'Fira Code'; +} + +body{ + margin:0; + padding:0; + font-size : 10px; + font-family:'Fira Code'; +} + +#menu { + display: grid; + grid-template-columns: 8fr 2fr; +} +@media (max-width: 1080px) { + #menu { + grid-template-columns: 1fr; + margin-bottom:40px +} + +} +#menu ul { + list-style: none; + margin:0; + padding:10px 20px; +} + +#menu ul li { + display:inline-block; + margin-right:20px; +} + +#menu ul li:first-of-type { + font-size:2em; +} + + +#menu ul li a{ + color: #000000; + text-decoration : none; + font-size : 2em; +} + +#menu div form{ + display: grid; + grid-template-columns: 8fr 2fr; + padding: 10px; + +} + +#menu div form input{ +/* border:1px solid; */ + border-radius: 10px; + font-size: 2em; + text-align: center; + color: #000; + box-shadow: -1px -1px 1px -3px rgba(0,0,0,0.77) inset , + 1px 1px 1px -3px rgba(250,250,250,0.87) inset ; + background: #fefefe; + text-transform: uppercase; +} + +#menu div form input:focus-visible{ + outline: 1px solid #ddd; + box-shadow: 5px 5px 5px -2px rgba(0,0,0,0.47) inset , + -5px -5px 5px -3px rgba(250,250,250,0.87) inset; + + \ + background: #fafafa; +} + + + +#menu div form button{ + margin-left:10px; + border-radius:10px; + font-size:3em; + +} + + +#menu div form { + height: 100%; +} + + +a:hover{ + color:#95a5a6 !important; +} + +#articles ul { + list-style:none; + padding:0 0 0 0px; +} + +#articles ul li{ + font-size:1.5em; + padding:10px 0; + padding-left:20px; + border-bottom: 1px solid #000000; +} + +#articles ul li h2{ + display: inline-block; + margin:0; + font-size:1.5em; + padding-left:50px; +} + + + +ul li h2{ + position:relative; + } +ul li h2:before{ + position:absolute; + text-align:center; + left:-20px; + top:0; + width:50px; + display:block; + font-size:1.3em; + line-height:1em; +} + +.robot:before{ + content:"🤖"; +} + +.various:before{ + content:"💾"; +} +.internet:before{ + content:"🛰"; +} + +.linux:before{ + content:"🐧"; +} + +#articles ul li a { + color : #000000; + text-decoration:none; +} +#articles ul li a:hover { + color : #0000ff; +} +#articles h2{ + padding-right:20px; +} +#articles ul li span { + outline: 1px solid #000; + padding: 2px 10px; + border-radius:3px; + margin-left:10px; +} + +#content-wrapper{ + width:90%; + margin:auto ; + font-size:1.5em!important; +} + +#content-wrapper p{ + text-align:left; + margin-left:10px +} + +#content-wrapper pre{ + // font-size:2em; + color:#2c3e50; + background:#ecf0f1; + border-radius:3px; + padding:8px; + outline:3px #2c3e50 solid ; + overflow-x : auto ; +} + +#content-wrapper code{ + color:#2c3e50; + overflow-x : auto ; + font-family:monospace; +} + +#content-wrapper h1{ + font-size : 2.5em; + margin: 20px 0 0 -10px ; +} + +#metad{ + margin: 5px 0 30px 0; +} + +#metad span { + font-size : 1em; +} + +#metad span:after{ + content:" / "; + margin: 0 0px 0 0px; + + +} +#metad .cat { + font-weight: bolder; +} + +#metad .author { + font-style: italic; +} + +#metad .date { +} + +table { + border-collapse: collapse; + width: 100%; + margin-bottom: 20px; +} + +th, td { + text-align: left; + padding: 8px; + border: 1px solid #ddd; +} + +tr:nth-child(even) { + background-color: #f2f2f2; +} + +th { + background-color: #000; + color: white; +} + +img { + width:100%; + height:auto; + max-width: 1080px; + text-align: center; + display: block; + margin: auto; +} + + +//p img{ +// width:150px; +// height:auto; +// float:left; +// margin: 20px; +// +//} + +p strong img{ + width:250px; +} +p em img{ + width:150px; + float:right; + +} + + +p{ + line-height:1.2em; + margin-top:1.5em; + margin-bottom:1.5em; + text-align:justify; +// font-size:2em; +} + +#gal { + display : grid ; + grid-template-columns: 1fr 1fr 1fr ; + column-gap: 10px; + row-gap: 10px; +} + + +.img_container { + position: relative; + overflow: hidden; + height: 120px; + display: grid; + align-content: center; + align-items: center; + justify-items: center; + justify-content: center; + align-items: center; + align-content: space-around; +} + +.img_container img{ + width:200%; +} + +.fullImg{ + grid-column: span 3; + height: auto!important; +} + +.fullImg img{ + width:100%; +} + + +key{ + padding:1px 6px; + border:1px solid lightgrey; + border-radius: 5px; + box-shadow: 1px 1px 0px 1px rgb(120# 20# 20) , + -1px -1px 0px 1px rgb(220 ## 20## 20); + + background: #efefef; + background: rgb(185# 85# 85); + background: radial-gradient( rgba(200## 00# 90# ) 1%, rgba(225## 25## 25# ) 100%, rgba(185# 85# 85# ) 100%) +; +} + + +@media (max-width: 600px) { + + #articles ul li span { + display:none; + } + #menu ul li:first-of-type { + outline: none; + width:100%; + } + #menu ul li { + outline: 1px solid #000; + padding: 2px 10px; + border-radius:3px; + margin-left:4px; + margin-bottom: 5px; + margin-right:0; + } + +} + diff --git a/static/test/atomic_01.jpg b/static/test/atomic_01.jpg new file mode 100644 index 0000000..0897a14 Binary files /dev/null and b/static/test/atomic_01.jpg differ diff --git a/static/test/curiosity_selfie.jpg b/static/test/curiosity_selfie.jpg new file mode 100644 index 0000000..0d25899 Binary files /dev/null and b/static/test/curiosity_selfie.jpg differ diff --git a/static/test/jjt.jpg b/static/test/jjt.jpg new file mode 100644 index 0000000..ee7cbc8 Binary files /dev/null and b/static/test/jjt.jpg differ diff --git a/static/test/laike.png b/static/test/laike.png new file mode 100644 index 0000000..99917ef Binary files /dev/null and b/static/test/laike.png differ diff --git a/static/test/pics.png b/static/test/pics.png new file mode 100644 index 0000000..7cb4eb7 Binary files /dev/null and b/static/test/pics.png differ diff --git a/static/test/sp.jpg b/static/test/sp.jpg new file mode 100644 index 0000000..1a88e8e Binary files /dev/null and b/static/test/sp.jpg differ diff --git a/static/test/st.png b/static/test/st.png new file mode 100644 index 0000000..28d3a8d Binary files /dev/null and b/static/test/st.png differ diff --git a/static/test/vimModeStateDiagram.svg b/static/test/vimModeStateDiagram.svg new file mode 100644 index 0000000..8205572 --- /dev/null +++ b/static/test/vimModeStateDiagram.svg @@ -0,0 +1,4222 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ctrl-X Mode + + + + + + + + + + + + Ctrl-X (Insert Completion) Mode + + + + + + + + + + + + + Return to + Insert or Replace Mode + + + + + + + + + Enter from + Insert or Replace Mode + + + + + + + + + Ctrl-X + + + + + + + + + + + + + + + + After leaving Completion Mode + + + + + + + + + + + + + + + + + Enter Special Character State Diagram + + + + + + + + + + + + Special Character Pending + + + + + + + + + + + + up to 4 + hex digits + [0-9a-fA-F]{0,4} + + + + + + + + + + + up to 8 + hex digits + [0-9a-fA-F]{0,8} + + + + + + + + + + + up to 4 + hex digits + [0-9a-fA-F]{0,4} + + + + + + + + + + + up to 3 + octal digits + [0-7]{0,3} + + + + + + + + + + + Special Character + Except: [0-9XoOxXuU] + + + + + + + + + + + + U + + + + + + + + + + + + + u + + + + + + + + + + + + + X + + + + + + + + + + + + + x + + + + + + + + + + + + + O + + + + + + + + + + + + + o + + + + + + + + + + + + up to 3 + decimal digits + [0-9]{0,3} + + + + + + + + + + + + Return to + Insert, Replace, or Virtual Replace Mode + or Normal Mode if coming from one of the Replace Character Pending Modes + + + + + + + + + Ctrl-V + + + + + + + + + + + + + Ctrl-Q + + + + + + + + + + + + + Enter from + Insert, Replace, Virtual Replace Mode + or one of the Replace Character Pending Modes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ctrl-X Mode + + + + + + + + + + + + + + + + + + + + + + + Ctrl-X Mode + + + + + + + + + + + + + + + + + + + + + + + Special Character + + + + + + + + + + + + + + + + + + + + + + + Special Character + + + + + + + + + + + + + + + + + + + + + + + Special Character + + + + + + + + + + + + + + + + + + + + Replace Character Pending Modes + + + + + + + + + + + + Replace Character + Pending + + + + + + + + + + + + + Virtual Replace + Character Pending + + + + + + + + + + + + Special Character + + + + + + + + + + + + + + + + + + + + + Visual Modes + + + + + + + + + + + + + Visual + + + + + + + + + + + + + Visual Line + + + + + + + + + + + + + Visual Block + + + + + + + + + + + + + Ctrl-V + + + + + + + + + + + + + V + + + + + + + + + + + + + v + + + + + + + + + + + + + Ctrl-V + + + + + + + + + + + + + v + + + + + + + + + + + + + V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Replace Modes + + + + + + + + + + + + Replace + + + + + + + + + + + + + Virtual + Replace + + + + + + + + + + + + + + + + + + + + + Select Modes + + + + + + + + + + + + Select Block + + + + + + + + + + + + + Select Line + + + + + + + + + + + + + Select + + + + + + + + + Insert Visual Modes + + + + + + + + + + + Insert Visual Line + + + + + + + + + + + Insert Visual Block + + + + + + + + + + + Insert Visual + + + + + + + + Insert Select Modes + + + + + + + + + + + Insert Select Line + + + + + + + + + + + Insert Select Block + + + + + + + + + + + Insert Select + + + + + + + + + Operator Pending + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Note(s) + + + + + + + + + + + Esc + + + + + + + + + + + Ctrl-[ + + + + + + + + + + + + i + + + + + + + + + + + + + I + + + + + + + + + + + + + o + + + + + + + + + + + + + O + + + + + + + + + + + + + a + + + + + + + + + + + + + A + + + + + + + + + + + + Ctrl-C + + + + + + + + + + + + gR + + + + + + + + + + + + + :vi + + + + + + + + + + + + + Ctrl-G + + + + + + + + + + + + + Ctrl-G + + + + + + + + + + + + + Ctrl-O + + + + + + + + + + + + + :! + + + + + + + + + + + + + / + + + + + + + + + + + + + : + + + + + + + + + + + + + ? + + + + + + + + + + + + + Ctrl-V + + + + + + + + + + + + + V + + + + + + + + + + + + + v + + + + + + + + + + + + + Insert + + + + + + + + + + + + + Insert + + + + + + + + + + + + + :start + + + + + + + + + + + + + : + + + + + + + + + + + + + Ctrl-O + + + + + + + + + + + + + Q + + + + + + + + + + + + + R + + + + + + + + + + + + + c + + + + + + + + + + + + + C + + + + + + + + + + + + Normal Mode + Command + + + + + + + + + + + Insert + Normal + + + + + + + + + + + + Command-Line + (Cmdline) + + + + + + + + + + + + + Ex + + + + + + + + + + + + + Insert + + + + + + + + + + + + + Normal (Command) + + + + + + + + + + + + + Normal (Command) + + + + + + + + + + + + + Esc + + + + + + + + + + + + Esc + + + + + + + + + + + Esc + + + + + + + + + + + + ! + + + + + + + + + + + + + gI + + + + + + + + + + + + + Esc + + + + + + + + + + + + + s + + + + + + + + + + + + + S + + + + + + + + + + + + Visual Mode + Command + + + + + + + + + + + + Select Visual + + + + + + + + + + + + + g Ctrl-H + + + + + + + + + + + + + gH + + + + + + + + + + + + + gh + + + + + + + + + + + + Printable Character, NL, or CR + + + + + + + + + + + + Esc + + + + + + + + + + + + Esc + + + + + + + + + + + Esc + + + + + + + + + + + Ctrl-V + + + + + + + + + + + V + + + + + + + + + + + v + + + + + + + + + + + g Ctrl-H + + + + + + + + + + + gH + + + + + + + + + + + gh + + + + + + + + + + + Ctrl-G + + + + + + + + + + + Ctrl-G + + + + + + + + + + + Esc + + + + + + + + + + + Esc + + + + + + + + + + + Visual Mode + Command + + + + + + + + + + + Select Mode + Command + + + + + + + + + + + + operator + + + + + + + + + + + + + CR + + + + + + + + + + + + I + + + + + + + + + + + A + + + + + + + + + + + VIM Modes Transition Diagram + + + + + + + + + + + By darcyparker@gmail.com Draft (3/19/2012. But not released as a new draft) Feedback welcome + + + + + + + + + + + + :startreplace + + + + + + + + + + + + + + + It's called 'Operator Pending', + but it seems a better name would + be 'Motion Pending'. + + + + + + + + + r + + + + + + + + + + + + + :startgreplace + + + + + + + + + + + + + motion or + text object + + + + + + + + + + + + + c + + + + + + + + + + + + Printable + Character, + NL or CR + + + + + + + + + + + + C + + + + + + + + + + + + + cc + + + + + + + + + + + + + operator + + + + + + + + + + + + Esc + + + + + + + + + + + + motion or + text object + + + + + + + + + + + + Ctrl-C + + + + + + + + + + + + r + + + + + + + + + + + + Esc + + + + + + + + + + + + Ctrl-X + + + + + + + + + + + + + Ctrl-X + + + + + + + + + + + + + v + + + + + + + + + + + + + V + + + + + + + + + + + + + Ctrl-V + + + + + + + + + + + + + gv + + + + + + + + + + + + + gv + + + + + + + + + + + + + Ctrl-C + + + + + + + + + + + + + Ctrl-C + + + + + + + + + + + + + s + + + + + + + + + + + + + S + + + + + + + + + + + + + R + + + + + + + + + + + + + J + + + + + + + + + + + + + gJ + + + + + + + + + + + + + u + + + + + + + + + + + + + U + + + + + + + + + + + + + g? + + + + + + + + + + + + + Ctrl-V + + + + + + + + + + + + + Ctrl-Q + + + + + + + + + + + + + Ctrl-V + + + + + + + + + + + + + Ctrl-Q + + + + + + + + + + + + + gi + + + + + + + + + + + + + Ctrl-C + + + + + + + + + + + + + gr + + + + + + + + + + + + + gr + + + + + + + + + + + + + + + Note: Esc does not cancel in this mode. Esc enters ^[ character! + In fact any special character, such as <Tab>, can be entered directly. + + + + + + + + + Ctrl-C + + + + + + + + + + + + + Ctrl-C + + + + + + + + + + + + + + + Stops visual mode + + + + + + + + + Ctrl-C + + + + + + + + + + + + Esc + + + + + + + + + + + + + + + + + + + + + + + + undocumented + + + + + + + + + Ctrl-C + + + + + + + + + + + + + Ctrl-O + + + + + + + + + + + + + Visual Replace Character Pending + + + + + + + + + + + + + Visual Virtual Replace Character Pending + + + + + + + + + + + + Printable and + some Special + Characters + + + + + + + + + + + Esc + + + + + + + + + + + Ctrl-C + + + + + + + + + + + Printable + Character, + NL or CR + + + + + + + + + + + + Ctrl-V + + + + + + + + + + + + + Ctrl-Q + + + + + + + + + + + + + Ctrl-Q + + + + + + + + + + + + + Ctrl-V + + + + + + + + + + + + Note: s is equivalent to c from visual mode + + + + + + + + + + + Note: R is equivalent to S in visual mode (Vim help says R may change after Vim 7.3?) + Also note, S is overridden by the surround.vim plugin from visual mode. + + + + + + + + + + + + Equivalent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/test/wt_01.jpg b/static/test/wt_01.jpg new file mode 100644 index 0000000..8591a00 Binary files /dev/null and b/static/test/wt_01.jpg differ diff --git a/static/test/wt_02.jpg b/static/test/wt_02.jpg new file mode 100644 index 0000000..5360b1e Binary files /dev/null and b/static/test/wt_02.jpg differ diff --git a/static/test/wt_03.jpg b/static/test/wt_03.jpg new file mode 100644 index 0000000..5bb4aac Binary files /dev/null and b/static/test/wt_03.jpg differ diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 0000000..f7fcaae --- /dev/null +++ b/templates/index.html @@ -0,0 +1,33 @@ + + + + + + + to do this - do that + + + + + {% include 'menu.html' %} + +
+ +
+ + + + diff --git a/templates/menu.html b/templates/menu.html new file mode 100644 index 0000000..09d30df --- /dev/null +++ b/templates/menu.html @@ -0,0 +1,17 @@ + diff --git a/templates/single.html b/templates/single.html new file mode 100644 index 0000000..01a0a55 --- /dev/null +++ b/templates/single.html @@ -0,0 +1,37 @@ + + + + + + + tdtdt: {{page.title}} + + + + + {% include 'menu.html' %} + +
+

{{ page.title }}

+
+ {{ page.cat }} + {{ page.author }} + {{ page.published }} +
+
+ {{ page }} +
+
+ {% for img in imgs : %} +
+ {% set img_url = page.path + '/' + img %} + +
+ {% endfor %} +
+
+ + + + + diff --git a/templates/staticpage.html b/templates/staticpage.html new file mode 100644 index 0000000..52e7dbe --- /dev/null +++ b/templates/staticpage.html @@ -0,0 +1,24 @@ + + + + + + + log website + + + + + {% include 'menu.html' %} + +
+

{{ page.title }}

+
+ PAGE PAS SINGLE + {{ page }} +
+
+ + + + diff --git a/uwsgi.ini b/uwsgi.ini new file mode 100644 index 0000000..6051fe9 --- /dev/null +++ b/uwsgi.ini @@ -0,0 +1,20 @@ +[uwsgi] +module = app:app +master = true +#callable = app +#plugins = python3 +wsgi-file = /home/zvevqx/app/tdtdt/app.py +home = /home/zvevqx/app/tdtdt +mount = /tdtdt=app.py +manage-script-name = true + +virtualenv = /home/zvevqx/app/tdtdt/venv + +socket = /tmp/tdtdt.sock +chmod-socket = 666 +env = DEBUG=False +env = SCRIPT_NAME=/tdtdt + +die-on-term = true +vaccuum = true +