2
0
Fork 0
mirror of git://git.savannah.gnu.org/guix/videos.git synced 2023-12-14 05:53:00 +01:00
Scripts for videos presenting Guix https://git.savannah.gnu.org/cgit/guix/videos.git
Find a file
2022-03-13 01:00:00 +01:00
01-installation-from-script Use the shorter install/remove syntax. 2020-03-28 13:03:12 +01:00
02-daily-use1 Use the shorter install/remove syntax. 2020-03-28 13:03:12 +01:00
02-daily-use2 Elide all hashes. 2020-03-28 10:32:59 +01:00
03-help Replace all occurrences of Freenode (in text) with Libera.Chat. 2022-03-13 01:00:00 +01:00
04-packaging1 Elide all hashes. 2020-03-28 10:32:59 +01:00
04-packaging2 Replace all instances of guix.info with guix.gnu.org. 2020-03-28 10:34:40 +01:00
04-packaging3 Replace all instances of guix.info with guix.gnu.org. 2020-03-28 10:34:40 +01:00
common Fix the URL of Guix manual in every last slide. 2019-08-13 15:30:04 -03:00
fonts Add fonts and script to install them. 2019-02-28 18:55:27 -03:00
build-video.sh Add copyright header and license for source code files. 2019-06-18 23:45:44 +02:00
cc-by-sa.txt Add license for media files. 2019-06-26 23:11:35 +02:00
COPYING Add copyright header and license for source code files. 2019-06-18 23:45:44 +02:00
create-cli-video.sh Add copyright header and license for source code files. 2019-06-18 23:45:44 +02:00
CREDITS Add CREDITS file 2019-06-05 14:15:58 +01:00
HACKING Add HACKING file. 2019-08-13 17:23:45 -03:00
helper.sh Fix indentation. 2020-03-28 10:10:03 +01:00
Makefile Add copyright line. 2019-06-26 23:19:06 +02:00
README Remove separate script to configure fonts. 2020-03-28 10:07:42 +01:00
screen Add copyright header and license for source code files. 2019-06-18 23:45:44 +02:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-*- mode: org -*-

* Introduction

In order to create the videos, you should run:

$ build-video.sh

The scripts usage is very simple. It has two modes. If no arguments are
supplied, all the videos are created, based on the name of the existing
subdirectories. Nevertheless, if the name of one of the directories is passed as
an argument, only the video it includes is created. This script sets
up an environment with the packages needed and calls a helper script
that spawns the build of each video.  The execution might take a long
time, so please, don't cancel it unless you want to you will find the
explanation for each step inside these scripts.

If you want to delete all the videos, you can delete them by running:

$ make VIDEO=<video-name> clean

and thus have your directory clean.

Each final  video will be composed of slide videos showing concepts  and might
have videos with command line prompts in between - a.k.a CLI videos -.  All of
these videos will then be glued together into the final video for a certain
topic. We are including here an example video, so that you can understand the
process.

This README file includes an example of how the process of creating a video
works.

Videos accept being translated to other languages.

* License

All source code is licensed under the GNU GPL v3 or later. See COPING for
details.

Media files (including transcripts, audio files, SVG slides, translations
and final videos) are licensed under Creative Commons
Attribution-ShareAlike 4.0 International. See the file cc-by-sa.txt for the
full license.

* Tree

The tree structure is described as follows, and, in case new videos are added, 
the structure of its subdirectory must be manually created. 

/
|-README
|-COPYING
|-CREDITS
|-Makefile
|-build-video.sh
|-create-cli-video.sh
|-helper.sh
|-screen
|-fonts/
|-common/
| |-audio/
| |-svg/ 
|-<videoName>
  |-slidesList.mk
  |-buildall.sh
  |-transcript<videoName>.txt
  |-en_US
  | |-audios/
  | |-svgs/
  | |-slides/
  | |-subtitles/
  | |-pots/ #not translated
  | |-translationFiles/ #.mo and .po  *ONLY* for this locale
  | |-out/
  | |-videos/
  |-sessions/ 
  |-<localeName> #if translated
    |-audios/
    |-svgs
    |-pots/ #translated
    |-slides/
    |-subtitles/
    |-out/
    |-videos/
    |-sessions/

* Considerations for Creating new Videos
 
** Running make for Creating a Video that Shows CLI Commands and Their Output

$ ./create-cli-video.sh  <videoDirectory> <locale> <sessionFilename> <numberOfCLIVideo>

where:
videoDirectory=name of the videos directory,
locale=locale for which the video is being created. Default is
en_US,
sessionFilename=file that contains commands and/or metacommands,
numberOfCLIVideo=number that indicates the order in which the video will be
shown I.e. if numberOfCLIVideo=2 it is the second CLI video that will be included
in the final video.

Example: 
$ ./create-cli-video.sh 01-installation-from-script en_US firstCli 1

** Running make for Creating a Video that Shows Slides

$ make videoNoCli VIDEO=<videoName> LOCALE_LANG=<locale>
 NUMBER=<numberOfNoCLIVideo>

Example:
$ make videoNoCli VIDEO=example LOCALE_LANG=en_US NUMBER=1

Important: The name of the audio file and slide number must be the exactly
the same. For instance, if our video is composed by 4.svg, 5.svg and 6.svg, we
will need 4.mp3 5.mp3 6.mp3 files even if our NUMBER argument is 2, since that
means the number of noCLIVideo we are creating, not the files that compose it.


** Running make for Creating Final Video

$ make finalvideo VIDEO=<video> LOCALE_LANG=<locale>


* Running make for Translations

$ make pots_for_video NUMBER=<numberOfNoCliVideo>

Creates the .pots only under en_US locale subdir for the number of slide video
specified to send them to translators.

Example:
$ make pots_for_video NUMBER=2

$ make slides VIDEO=<videoName> LOCALE_LANG=<locale>

Creates the translated slides, once the .pot files return from translators, so
that they can be used for locales other than en_US. 

The locale subdir, at least <locale>/slides must be created
beforehand.  

* Cleaning the Working Directory

$ make clean VIDEO=<video> LOCALE_LANG=<locale>

Cleans all the files related to video creation and translation, by calling all
the other clean_* options.  If VIDEO is not provided, it cleans the DEFAULT one.
If LOCALE_LANG is not provided it cleans en_US.

$ make clean_noCli VIDEO=<video> LOCALE_LANG=<locale>

Cleans all the slide videos.

$ make clean_cli VIDEO=<video> LOCALE_LANG=<locale>

Cleans all the videos that do show CLI commands. 

$ make clean_intermediate_videos VIDEO=<video> LOCALE_LANG=<locale>

Cleans all the intermediate videos, both slides and cli sessions. 

$ make clean_finalVideo VIDEO=<video> LOCALE_LANG=<locale>

Cleans the final video, that glues all the intermediate videos, but not the
intermediate ones. 

$ make clean_pots VIDEO=<video>

Cleans the .pot files to send to translators for the given video.
If VIDEO is not provided it uses the default one.

$ make clean_locale_slides VIDEO=<video> LOCALE_LANG=<LOCALE>

Cleans the translation files "*.po" and "*.mo" inside the en_US subdir for the
video.  If VIDEO is not provided it uses the default one. However,
LOCALE_LANG is *MANDATORY*.  If it is not given make aborts.