ToolExample: Difference between revisions

From Hackers & Designers
No edit summary
No edit summary
 
(11 intermediate revisions by the same user not shown)
Line 6: Line 6:
'''Jeoren's syntax:''' <code><nowiki> {{#github:readme.md|hackersanddesigners/hdsa2019doc}} </nowiki></code>
'''Jeoren's syntax:''' <code><nowiki> {{#github:readme.md|hackersanddesigners/hdsa2019doc}} </nowiki></code>


'''Karl's syntax:''' <code><nowiki><tool repo="REPONAME" file="FILENAME"></tool></nowiki></code>
'''Karl's syntax:''' <code><nowiki><tool user="USERNAME" repo="REPONAME" file="FILENAME" /></nowiki></code>


<tool repo="hackersanddesigners/had-py" file="readme.md"></tool>
<tool user="hackersanddesigners" repo="hdsa2019doc" file="readme.md" />
 
<tool user="karlmoubarak" repo="tool" file="readme.md" />


To-Do for Article Pages
To-Do for Article Pages
* CSS
* define a max height → expandable to full height  
** define a max height → expandable to full height  
* cute styling ◕3◕
** cute styling ◕3◕
* HTML
** external link to github


To-Do for Tools Page
To-Do for Tools Page
* CSS
* max height + width
** max height + width
*  if #github embed in article then create same embed in tools
* HTML
* internal link to article (only in tools page)
**  if #github embed in article then create same embed in tools
** external link to github
** internal link to article (only in tools page)

Latest revision as of 08:53, 30 September 2021

MainNavigation No

Jeoren's syntax: {{#github:readme.md|hackersanddesigners/hdsa2019doc}}

Karl's syntax: <tool user="USERNAME" repo="REPONAME" file="FILENAME" />

HDSA 2019 videodoc generator

Description

This script takes all the videos in a specified folder and uses parts of these videos to generate a random video of the specified length.

Installation

Not necessary but preferred. Create a environment for this project. I use conda:

conda create -n hdsa19doc python=3.7.3
conda activate hdsa19doc

Then install moviePy and GamePy (for sound or previews I think)

pip install moviepy gamepy

Input videos go in /input. Allowed types: .mov, .m4v, .mp4 Run the script:

python generate.py
optional arguments:
  -h, --help            show this help message and exit
  -d DURATION, --duration DURATION
                        Duration of output file
  -m MAX_SEG_LENGTH, --max_seg_length MAX_SEG_LENGTH
                        Max segment length
  -o, --open            Open the output file on finish.
  -t TEXTFILE, --textfile TEXTFILE
                        Path to textfile. Overlay the video with lines from
                        input text file.
  -b BRANDING, --branding BRANDING
                        Path to video. A part of this video will be overlaid
                        on the main composition.
  --title TITLE         Path to video/gif. Title overlay.
  --logo LOGO           Path to video/gif. Corner logo overlay.

Example:

python generate.py --duration 60 --max_seg_length 10 --open --textfile words.txt  --branding branding/Short\ movie\ 16x9.mov --title images/opening.gif --font KronaOne 

Links

  • MoviePy Github: https://github.com/Zulko/moviepy
  • MoviePy documentation: http://zulko.github.io/moviepy/

Other references:

Other interesting video libraries/languages:

  • https://lang.video/
  • http://www.vapoursynth.com/

To get MoviePy/imagemagick to recognize your fonts on Mac I had to modify this script a bit: https://github.com/testdouble/imagemagick-macos-font-setup First install the script with: npm i -g imagemagick-macos-font-setup Then:

#!/usr/bin/env bash
# Find our path via npm because BASH_SOURCE won't work under npm scripts… ಠ_ಠ
DIR="$(npm ls --global --parseable imagemagick-macos-font-setup)"
TYPE_GEN_SCRIPT="$DIR/vendor/imagemagick_type_gen"
echo "<----- Ensuring $HOME/.config/ImageMagick exists"
mkdir -p "$HOME/.config/ImageMagick"
echo "<----- Writing font definition to $HOME/.config/ImageMagick/type.xml"
find "$HOME/Library/Fonts" -type f -name '*.ttf' | "$TYPE_GEN_SCRIPT" -f - > "$HOME/.config/ImageMagick/type.xml"

Save the above as a .sh script and run it to create a Font list in ~/.config/ImageMagick/type.xml

To see which fonts ImageMagick recognizes: convert -list font

karlmoubarak / tool / readme.md

A MediaWiki tag extension to embed, link, and style contents from files hosted on GitHub repositories.

InstallationUsageExampleConfigurationCredits

Installation

This extension is built on top of and requires Jeroen's GitHub extension. Make sure that that is installed first. Then:

  1. Clone this directory.
  2. In the root of your wiki, navigate to var/www/mediawiki/extensions and copy the entire tool directory there.
  3. Navigate back to the main mediawiki folder and open the local_settings.php file in an editor.
  4. Add require_once( "$IP/extensions/tool/tool.php" ); at the end of the file.
  5. Write and quit.

You should now be able to use the extension.

Usage

In your wiki editor, type <tool user="USERNAME" repo="REPONAME" file="FILENAME" />, where USERNAME is the GitHub user whos repository you are linking, REPONAME is the name of that repository, and FILENAME is the path to the file you want to display from that repository.

Example

For instance, to embed the readme.md file from hackersanddesigners' hdsa2019doc repository, you would type in <tool user="hackersanddesigners" repo="hdsa2019doc" file="readme.md" />.

↗ see in use ↗

Configuration

This extension was built, configured, and styled for hackersanddesigners' wiki, so you might be interested in changing the generated HTML and CSS.

To change the generated HTML elements, open the tool_body.php file. All lines starting with $ret .= define an HTML line or element. Edit, add or remove these lines as you see fit. To change the way the embed is styled, edit the tool.css file. This should be self-explanatory.

During development, MediaWiki's caching might get in the way. In your browser's address bar you can add &action=purge at the end of the URL you are testing to clear the cache (and changes to the tool.css file will only require a force reload to become visible).

Credits

Built under afincato's supervision as part of an ongoing project for the Hackers and Designers Wiki.


written with love → km < bonjour@moubarak.eu >

To-Do for Article Pages

  • define a max height → expandable to full height
  • cute styling ◕3◕

To-Do for Tools Page

  • max height + width
  • if #github embed in article then create same embed in tools
  • internal link to article (only in tools page)