Skip to content
This repository was archived by the owner on Jul 4, 2023. It is now read-only.
dangered wolf edited this page May 25, 2020 · 5 revisions

Overview

As of ModernDeck 8.0, the overview of the start process of ModernDeck is as shown.

overview chart

main.js is the main script with bootstrapping and main process capabilities for the app. content.js is the extension content script with bootstrapping capabilities.

moderndeck.js is the transpiled file that contains the Cross-Platform heart and most of the relevant code.

MTD?

MTD is short for ModernTweetDeck and is leftover from the transition from TDE (TweetDeckEnhancer) to ModernDeck. This abbreviation is still used in the ModernDeck code to be the abbreviation for ModernDeck. This includes some function names, settings keys, and prior to ModernDeck 8, even file names.

Getting around

ModernDeck has a pretty straightforward directory structure.

build contains most of the build config files (with exceptions) build\icons contains icons for moderndeck build\dmg contains specifics for macOS DMG files build\appx contains specific for Windows AppX (Microsoft Store apps) files

common contains all the files that are packaged with the extension and app. The app also gets a subset of node_modules and main.js, package.json, and readme and licensing information. common/extension contains the extension-specific files that are not included in the app. common/app includes the app tray icon.

dist contains outputted electron app images

docs contains images and other things for ModernDeck documentation.

src contains the interesting source files that are compiled to common/resources/moderndeck.js

moderndeck.js

moderndeck.js is composed of several source files from src. They're pretty straightforward in naming. ModernDeckInit.js is the first file in the chain, and has roots in ModernDeck <= 7's MTDinject.js

Low level initialization

The first thing that ModernDeckInit.js looks for is an element called MTDURLExchange.

Clone this wiki locally