Note: You are not logged in.
Module Maker

by Ikael

FREE
5.00 Avg. rating

Forum Thread
Total Subscribers: 288


Description

Module Maker provide capabilities to create library modules using lightweight markdown language known as M3L (Module Maker Markdown Language). This extension is next iteration of SWEL (Savage Worlds Enhanced Library) but it is now usable in all CoreRPG dervived rulesets.

Resources

Lorem Ipsum demo

  • Enable the extension
  • Copy content of Lorem Ipsum markdown example into your clipboard memory (CTRL+C)
  • Use slash command to generate library module from markdown in your clipboard memory
/module make

Convert PDF into M3L

Use below instructions to convert Google Document content into reference manual M3L

Open PDF as Google Doc

Note: Opening PDF from Google Drive as Google Document will only render up to first 100 pages. If your PDF has more pages you can use following trick to include content from all pages:

  • Open the first pages as described above
  • Next you would need to create new PDF file that does not have pages that are already rendered. You can use browser's print feature to remove these pages 
    • Open PDF in browser and select Print
    • Use Save as PDF option
    • Select pages that were not rendered in Google Document
    • Save
  • Upload the new PDF file into Google Drive
  • Select Open with - Google Docs
  • Copy paste all content from here into the original Google Document that has the first pages rendered
  • You can repeat this process until all content is included in one Google Document

Use Apps Script

Apps Script allow you to transform Google Documents via scripting

  • In the Google Docs toolbar select Extensions - Apps Script
  • Add Library with following Script ID
    1Qj7RRzDaB_AQ5GHc8x7h0OJneXX8k2S935pQMjdp54_uyMi6b2T0VRpe
    
    • Select latest non-development version
    • Identifier should be ModuleMaker
  • Copy following content to script editor field
    function convert() {
      ModuleMaker.toM3L({
        analyze: {
          apply: true
        },
        convert: {
          content: {
            chapter: {
              name: "TODO"
            },
            subchapter: {
              fontSizes: []
            },
            article: {
              fontSizes: []
            },
            headerBlock: {
              fontSizes: []
            },
            bodyHeader: {
              fontSizes: []
            },
            bodyText: {
              fontSizes: []
            },
            remove: []
          }
        }
      })
    }
    
  • Run the script
    • The first run will analyze the document and report all discovered font sizes
  • Based on the analyze report, fill the fontSizes information in the script
  • In the script disable analyzer phase by setting analyze.apply value into false
  • Run the script again, this time it will perform conversion run
    • If you get timeout error after 6 minutes, just re-run the script again, it will continue where it left

    Create reference manual

    Open the Google Document again, and it has been transformed into M3L. Copy all the content and in Fantasy Grounds use following slash command:

    /module make

    Changelog

    1.0.7 - 14.06.2023

    Fixed

    • Convert to Markdown button in reference manual overlaps with other controls
    • Script error opening reference manual preview
    • Script error opening library window due to CoreRPG changes

    1.0.5 - 12.05.2023

    Added

    • Additional ruleset record schema support for Fallout 2d20 ruleset
    • Record sets support alternative names
    • Record sets support reference_groupedlist

    Changed

    • Library export field names are consistent with CoreRPG

    Fixed

    • Savage Worlds /markdown export does not work properly for armors and weapons
    • Savage Worlds weapons are duplicated in /markdown export all
    • Attribute content can overflow to description field
    • Module re-creation does not clean previous library entry

    1.0.0 - 25.04.2023

    Added

    • Generate module content from Module Maker Markdown Language (M3L for short) text files
      • Backward compatibility support for SWEL markdown
    • Import to campaign button next to generated modules in Modules window. Use to import generated module content into campaign
    • Export module button next to generated modules in Modules window. Use to export module using Module Maker export (SavageWorlds only)
    • Import to Builder button in reference manual preview window. Use to import previewed content into builder
    • Option: Markdown Tools. Enable to show Markdown tools
    • Markdown Tools to generate M3L from Fantasy Grounds records
    • Make Module button in Modules window. Visible only when Markdown Tools option is enabled
    • Module checker feature which can be uses to detect issues in modules (SavageWorlds only)
      • Check Module radial menu option for book entries in Modules window (SavageWorlds only)
    • Slash commands
      • /module make use to generate library module from M3L in clipboard memory
      • /module check use to check issues from loaded modules using module checker feature (SavageWorlds only)
      • /module flush use to flush orhan references from campaign database
      • /module activate use to activate all of your modules
      • /module deactivate use to deactivate all of your modules
      • /module disallow use to disallow all of your modules from players
      • /markdown help use to list all supported record set types
      • /markdown preview use to preview reference manual from M3L in clipboard memory
      • /markdown preview RECORDTYPE use to preview record from M3L in clipboard memory
      • /markdown export RECORDTYPE use to generate M3L content from campaign records
      • /markdown export builder use to generate M3L content from Reference Manual builder
      • /markdown export all use to generate M3L content from all campaign records
      • /schema analyze use to analyse ruleset record schemas
    • General support for any CoreRPG derived ruleset. Additional ruleset record schemas can be defined separately
    • Additional ruleset record schema support for following rulesets:
      • CoreRPG
      • Cypher System
      • Dungeon Crawling Classic
      • Dungeons & Dragons 5E
      • Fallout 2d20
      • Fate Core
      • Numenera
      • Old School Essentials
      • Pathfinder 1st Edition
      • Pathfinder 2nd Edition
      • Rolemaster Classic
      • Savage Worlds
    • Google Apps Script to convert Google document content into M3L

    Fixed

    • Frameworks record set is not shown for Savage Rifts
    • Builder content is removed unnecessarily when exporting
    • Campaign records are removed redundantly in clean up process
    • Dynamic links for records with period in name does not work

    Removed

    • refmanual_title support because CoreRPG does not support changing reference manual title


    UUID ec4aaa5c-d18d-11ed-8c52-0050562be458