itch.io is community of indie game creators and players

Devlogs

Rakugo 3.3 Devlog #3 : AdvnacedText

Rakugo
A downloadable Rakugo

Sorry I’m wasn’t writing more posts for a long time. I was busy with other things. But I was more active on twitter, you can on twitter.

Hi everyone, here is the 3th devlog of Rakugo 3.3. Now I see that new that I’m too optimistic about time when next version of Rakugo will be ready for release. So now I yes it will be ready when it will be ready :smirk:. For last 2 months I have been working on AdvancedText plugin for Godot and Rakugo. theLudovyc has been working on Rakugo. We also discovered some other plugins/tools for Godot that we will use for Rakugo.

theLudovyc works on Rakugo core

Rakugo core is how we called Rakugo with out any plugins and gui. We separated Rakugo core from Rakugo plugins and gui. Now it is at Rakugo repo, previous Rakugo repo is now repo of Visual Novel Kit.

Discovered plugins/tools for Godot

GDScriptify

GDScriptify by hiulit we probably will use it for RakugoDocs.

Is tool wrote in using node.js to generate Markdown docs from GDScript scripts.

From project ReadMe:

A magical documentation tool for GDScript.

Introduction

GDScriptify is an API documentation generator tool for GDScript that converts comments you write alongside the code into Markdown documentation files.

It’s great for documenting Godot plugins or frameworks. Even for just small one-script projects.

GD-Plug

GD-Plug by imjp94 we will use it to made updating of Rakugo Kits easier.

It allows to write script that will download/update all your addons/plugins in your Godot project, you do that using plug("path/to/plugin/repo) command.

From project ReadMe:

Minimal plugin manager for Godot, inspired by vim-plug.

AdvancedText 1.2

Nodes

AdvancedTextLabel

  • extends RichTextLabel
  • adds support for Markdown and Ren’Py markups
  • adds support for Emojis-For-Godot using :emoji: syntax
  • adds support for variables in text using <var_name> syntax
  • adds support for headers
  • adds support for loading text files: *.txt, *.md and *.rpy

CodeEdit

  • extends TextEdit
  • adds support for loading any text files
  • adds highlighting using json configuration file ; included configs for: BBCode, Markdown, Ren’Py, GDScript and JSON in advanced-text/highlights folder.

Included Examples

In advanced-text/examples folder.

AdvancedTextButton

Shows how to combine AdvancedTextLabel with Button.

ClickMeToEdit

Shows how to add LineEdit to AdvancedTextButton, so it user can edit text in button.

There is also ClickMeToEditPopup example is the same, but uses Popup and CodeEdit instead of LineEdit.

TextBrowser

Show how to makes text browser that handles links to web sites and links to other text files in project.

Supported Markups

To all Markups AdvancedText adds:

  • adds support for Emojis-For-Godot using :emoji: syntax
  • adds support for variables in text using <var_name> syntax ; our variables in text solution works even with: Dictionary, Array, String as array, Color and Resource.

BBCode

The same as in build one in Godot, but with few extras:

  • adds support for headers using [H1] text [/H1] syntax

Ren’Py markup

Has few changes to comparing to original one:

  • for variables uses <var_name> instead of [var_name]
  • adds support for headers using {H1} text {/H1} syntax
  • adds support for all Godot BBCode tags just put them in {}

Markdown

AdvancedTextLabel uses RichTextLabel to render result so we just parse our markups to Godot BBCode so we need to change things.

Has few changes to comparing to standard one:

  • ![height x width](path/to/img) is used
  • only `code` is used
  • @u { text } is used for underline text
  • @tab { text } is used for indent text
  • @tabel=cells { | cell1 | cell2 | } is used for tables

But it also adds few features to our Markdown:

  • @color=color { text } is used for coloring text
  • @center { text } is used for centering text
  • @right { text } is used for right aligning text
  • @fill { text } is used for filling text
  • @effect args { text } is used for effects on text

This gif was made on Godot 3.4 version, maybe in newer version fade effect is fixed.

Godot MyST Docs Template

As ever of our projects will need a docs we made template to speed up setting them up.

  • It uses MyST as parser for Markdown
  • The same css as Godot Docs
  • Support GDScript highlighting by the same plugin that Godot Docs uses

Everone can use this template: https://github.com/rakugoteam/Godot-MyST-Docs-Template

This is all for now. Merry Christmas and Happy New Year Godotters!

Files

  • AdvancedText 1.3
    Dec 24, 2021
  • Emojis For Godot 1.4
    Dec 24, 2021
Download Rakugo
Leave a comment