A tool helps build a talk preview image by combining the given background image and talk event description

Overview

talk-preview-img-builder

A tool helps build a talk preview image by combining the given background image and talk event description

Installation and Usage

Install Dependencies

For running the app, you need to install the following dependencies by following command:

pipenv install -d

Run the Application

Before running the application, you need to prepare the material for building the talk preview images/slides. There are two materials that are required:

  • A background image named background.png which is located in the materials/img folder.

  • A talk event description named speeches.json which is located in the materials/ folder.

After preparing the material, you can run the application by following command:

pipenv run build_talk_preview_img   # build the talk preview images

or

pipenv run build_talk_preview_ppt  # build the talk preview slides

The generated talk preview images and slides are located in the export/ folder.

Configuring the Application

There are several options to configure the application, the default values are shown in the config.py file. You can override the default values by editing the config.py file or adding a .env file that setting theses variables before running the app.

Variable Description Default Value (Setting for Image/ Setting for Slides) Type (Setting for Image/ Setting for Slides)
BACKGROUND_IMG_PATH The path to the background image materials/img/background.png String
SPEECHES_PATH The path to the speech description materials/speeches.json String
PREVIEW_IMG_WIDTH The width of the generated preview image 700px / 30cm Integer / Float
PREVIEW_IMG_HEIGHT The height of the generated preview image 700px / 30cm Integer / Float
PREVIEW_IMG_TITLE_UPPER_LEFT_X The left position of the title in the upper left corner of the generated preview image 110px / 0.95cm Integer / Float
PREVIEW_IMG_TITLE_UPPER_LEFT_Y The top position of the title in the upper left corner of the generated preview image 110px / 1.04cm Integer / Float
PREVIEW_IMG_CONTENT_UPPER_LEFT_X The left position of the content in the upper left corner of the generated preview image 85px / 1.38cm Integer / Float
PREVIEW_IMG_CONTENT_UPPER_LEFT_Y The top position of the content in the upper left corner of the generated preview image 200px / 3.8cm Integer / Float
PREVIEW_IMG_FOOTER_UPPER_LEFT_X The left position of the footer in the upper left corner of the generated preview image 100px / 1.6cm Integer / Float
PREVIEW_IMG_FOOTER_UPPER_LEFT_Y The top position of the footer in the upper left corner of the generated preview image 650px / 12.2cm Integer / Float
PREVIEW_IMG_SPEAKER_UPPER_RIGHT_X The right position of the speaker name in the upper right corner of the generated preview image 600px / 13.5cm Integer / Float
PREVIEW_IMG_SPEAKER_UPPER_RIGHT_Y The top position of the speaker name in the upper right corner of the generated preview image 570px / 10cm Integer / Float
TITLE_HEIGHT The height of the title 70px / 1.84cm Integer / Float
CONTENT_HEIGHT The height of the content 90px / 7.5cm Integer / Float
PREVIEW_TEXT_COLOR The color of text used in the preview image #080A42 String
PREVIEW_HIGHTLIGHT_TEXT_COLOR The highlight color of text used in the preview image #EBCC73 String
PREVIEW_TEXT_FONT The font used in the preview image "PingFang.ttc"/"Taipei Sans TC Beta" String
PREVIEW_TEXT_BOLD_FONT The bold font used in the preview image "PingFang.ttc"/"Taipei Sans TC Beta" String

Coding Style

The coding style of the application is PEP8. You can use the following command to check the coding style:

pipenv run lint

and the following command to reformat the coding style which is leveraged by black and isort:

pipenv run reformat

TODO

  • Automatically generate the talk preview metadata file (e.g. speeches.json) from the PyConTW API server.
  • Implement hybrid language support text wrapping in title and content of the talk preview image.
  • Implement dynamic font size adjustment in the title and content of the talk preview image depending on the length of words.
  • Implement CI workflow by using GitHub Actions
Owner
PyCon Taiwan
PyCon Taiwan
ChessCoach is a neural network-based chess engine capable of natural-language commentary.

ChessCoach is a neural network-based chess engine capable of natural-language commentary.

Chris Butner 380 Dec 03, 2022
An end to end ASR Transformer model training repo

END TO END ASR TRANSFORMER 本项目基于transformer 6*encoder+6*decoder的基本结构构造的端到端的语音识别系统 Model Instructions 1.数据准备: 自行下载数据,遵循文件结构如下: ├── data │ ├── train │

旷视天元 MegEngine 10 Jul 19, 2022
Smart discord chatbot integrated with Dialogflow to manage different classrooms and assist in teaching!

smart-school-chatbot Smart discord chatbot integrated with Dialogflow to interact with students naturally and manage different classes in a school. De

Tom Huynh 5 Oct 24, 2022
Telegram bot to auto post messages of one channel in another channel as soon as it is posted, without the forwarded tag.

Channel Auto-Post Bot This bot can send all new messages from one channel, directly to another channel (or group, just in case), without the forwarded

Aditya 128 Dec 29, 2022
Yuqing Xie 2 Feb 17, 2022
Transformer Based Korean Sentence Spacing Corrector

TKOrrector Transformer Based Korean Sentence Spacing Corrector License Summary This solution is made available under Apache 2 license. See the LICENSE

Paul Hyung Yuel Kim 3 Apr 18, 2022
PyTorch impelementations of BERT-based Spelling Error Correction Models.

PyTorch impelementations of BERT-based Spelling Error Correction Models

Heng Cai 209 Dec 30, 2022
The (extremely) naive sentiment classification function based on NBSVM trained on wisesight_sentiment

thai_sentiment The naive sentiment classification function based on NBSVM trained on wisesight_sentiment วิธีติดตั้ง pip install thai_sentiment==0.1.3

Charin 7 Dec 08, 2022
To classify the News into Real/Fake using Features from the Text Content of the article

Hoax-Detector Authenticity of news has now become a major problem. The Idea is to classify the News into Real/Fake using Features from the Text Conten

Aravindhan 1 Feb 09, 2022
Unsupervised Language Model Pre-training for French

FlauBERT and FLUE FlauBERT is a French BERT trained on a very large and heterogeneous French corpus. Models of different sizes are trained using the n

GETALP 212 Dec 10, 2022
A list of NLP(Natural Language Processing) tutorials built on Tensorflow 2.0.

A list of NLP(Natural Language Processing) tutorials built on Tensorflow 2.0.

Won Joon Yoo 335 Jan 04, 2023
Official PyTorch code for ClipBERT, an efficient framework for end-to-end learning on image-text and video-text tasks

Official PyTorch code for ClipBERT, an efficient framework for end-to-end learning on image-text and video-text tasks. It takes raw videos/images + text as inputs, and outputs task predictions. ClipB

Jie Lei 雷杰 612 Jan 04, 2023
Honor's thesis project analyzing whether the GPT-2 model can more effectively generate free-verse or structured poetry.

gpt2-poetry The following code is for my senior honor's thesis project, under the guidance of Dr. Keith Holyoak at the University of California, Los A

Ashley Kim 2 Jan 09, 2022
A Multilingual Latent Dirichlet Allocation (LDA) Pipeline with Stop Words Removal, n-gram features, and Inverse Stemming, in Python.

Multilingual Latent Dirichlet Allocation (LDA) Pipeline This project is for text clustering using the Latent Dirichlet Allocation (LDA) algorithm. It

Artifici Online Services inc. 74 Oct 07, 2022
Phrase-Based & Neural Unsupervised Machine Translation

Unsupervised Machine Translation This repository contains the original implementation of the unsupervised PBSMT and NMT models presented in Phrase-Bas

Facebook Research 1.5k Dec 28, 2022
🐍 A hyper-fast Python module for reading/writing JSON data using Rust's serde-json.

A hyper-fast, safe Python module to read and write JSON data. Works as a drop-in replacement for Python's built-in json module. This is alpha software

Matthias 479 Jan 01, 2023
🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.

English | 简体中文 | 繁體中文 | 한국어 State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow 🤗 Transformers provides thousands of pretrained models

Hugging Face 77.1k Dec 31, 2022
Conversational text Analysis using various NLP techniques

Conversational text Analysis using various NLP techniques

Rita Anjana 159 Jan 06, 2023
Code release for NeX: Real-time View Synthesis with Neural Basis Expansion

NeX: Real-time View Synthesis with Neural Basis Expansion Project Page | Video | Paper | COLAB | Shiny Dataset We present NeX, a new approach to novel

537 Jan 05, 2023
硕士期间自学的NLP子任务,供学习参考

NLP_Chinese_down_stream_task 自学的NLP子任务,供学习参考 任务1 :短文本分类 (1).数据集:THUCNews中文文本数据集(10分类) (2).模型:BERT+FC/LSTM,Pytorch实现 (3).使用方法: 预训练模型使用的是中文BERT-WWM, 下载地

12 May 31, 2022