From 3696336df9619780876a250864c00c1707df8ed6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kat=20March=C3=A1n?= Date: Fri, 24 May 2024 13:01:06 -0700 Subject: [PATCH] rename plugin to Iron Vault Fixes: https://github.com/cwegrzyn/iron-vault/issues/62 --- .vscode/jest.code-snippets | 2 +- .vscode/launch.json | 2 +- README.md | 9 +++---- esbuild.config.js | 4 ++-- manifest.json | 8 +++---- package.json | 3 ++- src/api.ts | 14 +++++------ src/characters/action-context.ts | 4 ++-- src/characters/assets.ts | 7 ++++-- src/characters/commands.ts | 6 ++--- src/characters/lens.test.ts | 12 +++++----- src/characters/lens.ts | 21 ++++++++++------- src/characters/meter-commands.ts | 6 ++--- src/datastore.ts | 12 +++++----- src/datastore/parsers/markdown.ts | 8 +++---- src/datastore/parsers/table.test.ts | 2 +- src/entity/command.ts | 6 ++--- src/index.ts | 26 ++++++++++----------- src/indexer/manager.ts | 4 ++-- src/mechanics/css/details.css | 2 +- src/mechanics/css/dlist-add.css | 3 +-- src/mechanics/css/dlist-burn.css | 2 +- src/mechanics/css/dlist-clock.css | 9 ++++--- src/mechanics/css/dlist-meter.css | 2 +- src/mechanics/css/dlist-oracle.css | 2 +- src/mechanics/css/dlist-progress.css | 2 +- src/mechanics/css/dlist-reroll.css | 2 +- src/mechanics/css/dlist-roll.css | 4 ++-- src/mechanics/css/dlist-shared.css | 2 +- src/mechanics/css/dlist-track.css | 3 +-- src/mechanics/css/dlist-xp.css | 3 +-- src/mechanics/css/mechanics.css | 4 ++-- src/mechanics/css/move.css | 2 +- src/mechanics/css/oracle-group.css | 2 +- src/mechanics/css/paragraphs.css | 2 +- src/mechanics/css/summary.css | 5 ++-- src/mechanics/mechanics-blocks.ts | 10 ++++---- src/moves/action/index.ts | 8 +++---- src/moves/block.ts | 4 ++-- src/moves/link-override.ts | 4 ++-- src/moves/move-modal.ts | 8 +++---- src/oracles/command.ts | 2 +- src/oracles/css/oracles.css | 2 +- src/oracles/link-override.ts | 4 ++-- src/oracles/oracle-modal.ts | 10 ++++---- src/oracles/render.ts | 2 +- src/settings/index.ts | 18 +++++++------- src/settings/ui.ts | 14 +++++------ src/sidebar/css/moves.css | 2 +- src/sidebar/css/oracles.css | 2 +- src/sidebar/css/sidebar.css | 4 ++-- src/sidebar/css/tab-content-shared.css | 2 +- src/sidebar/moves.ts | 12 +++++----- src/sidebar/oracles.ts | 24 +++++++++---------- src/sidebar/sidebar-view.ts | 20 ++++++++-------- src/styles.css | 4 ++-- src/tracks/clock-block.ts | 12 +++++----- src/tracks/commands.ts | 10 ++++---- src/tracks/context.ts | 4 ++-- src/tracks/css/clocks.css | 8 +++---- src/tracks/css/tracks.css | 14 +++++------ src/tracks/progress.ts | 2 +- src/tracks/select-clock.ts | 2 +- src/tracks/select.ts | 2 +- src/tracks/track-block.ts | 12 +++++----- src/typings/obsidian-ex.d.ts | 10 ++++---- src/utils/ui/directives.ts | 8 +++++-- test-vault/.obsidian/community-plugins.json | 4 ++-- test-vault/Clocks/Test Clock.md | 5 ++-- test-vault/Data/Oracle Array 1.md | 2 +- test-vault/Data/Test.md | 4 ++-- test-vault/Progress/Example Vow.md | 4 ++-- test-vault/Templates/Faction.md | 2 +- test-vault/characters/Ash Barlowe.md | 2 +- 74 files changed, 243 insertions(+), 227 deletions(-) diff --git a/.vscode/jest.code-snippets b/.vscode/jest.code-snippets index 417c13b2..41422a98 100644 --- a/.vscode/jest.code-snippets +++ b/.vscode/jest.code-snippets @@ -1,5 +1,5 @@ { - // Place your forged workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and + // Place your iron-vault workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and // description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope // is left empty or omitted, the snippet gets applied to all languages. The prefix is what is // used to trigger the snippet and the body will be expanded and inserted. Possible variables are: diff --git a/.vscode/launch.json b/.vscode/launch.json index b9d5065d..2b15abee 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -2,7 +2,7 @@ "configurations": [ { "type": "node", - "name": "vscode-jest-tests.v2.forged", + "name": "vscode-jest-tests.v2.iron-vault", "request": "launch", "args": [ "--runInBand", diff --git a/README.md b/README.md index 638a766d..9bc2af3f 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,12 @@ -# Obsidian Forged +# Iron Vault Obsidian plugin to play Ironsworn/Starforged system games, using the data in [datasworn](https://github.com/rsek/datasworn) format. -This owes a lot to [Eric Bright's Forged_in_Obsidian](https://github.com/ericbright2002/Forged_in_Obsidian) -template vault. I started with that vault and then gradually replaced functionality -with this plugin. +This owes a lot to [Eric Bright's +Forged_in_Obsidian](https://github.com/ericbright2002/Forged_in_Obsidian) +template vault. I started with that vault and then gradually replaced +functionality with this plugin. ## Features diff --git a/esbuild.config.js b/esbuild.config.js index 5338a513..621c230f 100644 --- a/esbuild.config.js +++ b/esbuild.config.js @@ -38,7 +38,7 @@ const context = await esbuild.context({ logLevel: "info", sourcemap: prod ? false : "inline", treeShaking: true, - outfile: prod ? "main.js" : "test-vault/.obsidian/plugins/forged/main.js", + outfile: prod ? "main.js" : "test-vault/.obsidian/plugins/iron-vault/main.js", plugins: [typecheckPlugin({ watch: !prod })], }); @@ -48,7 +48,7 @@ const cssCtx = await esbuild.context({ sourcemap: prod ? false : "inline", outfile: prod ? "styles.css" - : "test-vault/.obsidian/plugins/forged/styles.css", + : "test-vault/.obsidian/plugins/iron-vault/styles.css", loader: { ".svg": "dataurl", }, diff --git a/manifest.json b/manifest.json index 896b73d7..ed66f9fe 100644 --- a/manifest.json +++ b/manifest.json @@ -1,11 +1,11 @@ { - "id": "forged", - "name": "Forged Plugin", + "id": "iron-vault", + "name": "Iron Vault", "version": "0.19.1", "minAppVersion": "0.15.0", - "description": "Ironsworn/Starforged gameplay plugin", + "description": "Gameplay plugin/VTT for the Ironsworn/Starforged family of tabletop RPGs", "author": "Chris Wegrzyn", "authorUrl": "https://github.com/cwegrzyn", "fundingUrl": "https://obsidian.md/pricing", "isDesktopOnly": false -} \ No newline at end of file +} diff --git a/package.json b/package.json index c7df73ea..a649a48b 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "forged", + "name": "iron-vault", "version": "0.19.1", "description": "", "main": "main.js", @@ -8,6 +8,7 @@ "node": ">=16", "pnpm": ">=9" }, + "private": true, "scripts": { "test": "jest", "build": "tsc --noEmit && node esbuild.config.js production", diff --git a/src/api.ts b/src/api.ts index 2dcbe5bb..3d6f1864 100644 --- a/src/api.ts +++ b/src/api.ts @@ -2,7 +2,7 @@ import { syntaxTree } from "@codemirror/language"; import { App } from "obsidian"; import { CharacterTracker } from "./character-tracker"; import { Datastore } from "./datastore"; -import ForgedPlugin from "./index"; +import IronVaultPlugin from "./index"; import { RollWrapper } from "./model/rolls"; import { ProgressIndex } from "./tracks/progress"; @@ -10,8 +10,8 @@ function stripLinks(input: string): string { return input.replace(/\[([^\]]+)\]\([^)]+\)/g, "$1"); } -export class ForgedAPI { - constructor(public readonly plugin: ForgedPlugin) {} +export class IronVaultAPI { + constructor(public readonly plugin: IronVaultPlugin) {} get datastore(): Datastore { return this.plugin.datastore; @@ -39,10 +39,10 @@ export class ForgedAPI { } } -export const getAPI = (app?: App): ForgedAPI | undefined => { - if (app) return app.plugins.plugins.forged?.api; - else return window.ForgedAPI; +export const getAPI = (app?: App): IronVaultAPI | undefined => { + if (app) return app.plugins.plugins["iron-vault"]?.api; + else return window.IronVaultAPI; }; export const isPluginEnabled = (app: App) => - app.plugins.enabledPlugins.has("forged"); + app.plugins.enabledPlugins.has("iron-vault"); diff --git a/src/characters/action-context.ts b/src/characters/action-context.ts index 07c8a11f..2acf8ece 100644 --- a/src/characters/action-context.ts +++ b/src/characters/action-context.ts @@ -14,7 +14,7 @@ import { rollablesReader, } from "../characters/lens"; import { type Datastore } from "../datastore"; -import ForgedPlugin from "../index"; +import IronVaultPlugin from "../index"; import { InfoModal } from "../utils/ui/info"; export interface IActionContext { @@ -143,7 +143,7 @@ function renderError(e: Error, el: HTMLElement): void { } export async function determineCharacterActionContext( - plugin: ForgedPlugin, + plugin: IronVaultPlugin, ): Promise { if (plugin.settings.useCharacterSystem) { try { diff --git a/src/characters/assets.ts b/src/characters/assets.ts index 3f0f0ec9..ee0d820e 100644 --- a/src/characters/assets.ts +++ b/src/characters/assets.ts @@ -9,7 +9,7 @@ import { CharReader, CharWriter, CharacterLens, - ForgedSheetAssetSchema, + IronVaultSheetAssetSchema, } from "./lens"; export class AssetError extends Error {} @@ -19,7 +19,10 @@ export function assetWithDefnReader( index: DataIndex, ): CharReader< Array< - Either + Either< + AssetError, + { asset: IronVaultSheetAssetSchema; defn: Datasworn.Asset } + > > > { return reader((source) => { diff --git a/src/characters/commands.ts b/src/characters/commands.ts index 5dfb40da..bde0432a 100644 --- a/src/characters/commands.ts +++ b/src/characters/commands.ts @@ -1,5 +1,5 @@ import { type Datasworn } from "@datasworn/core"; -import ForgedPlugin from "index"; +import IronVaultPlugin from "index"; import { Editor, FuzzyMatch, MarkdownView } from "obsidian"; import { vaultProcess } from "utils/obsidian"; import { firstUppercase } from "utils/strings"; @@ -14,7 +14,7 @@ import { } from "./assets"; export async function addAssetToCharacter( - plugin: ForgedPlugin, + plugin: IronVaultPlugin, _editor: Editor, _view: MarkdownView, ): Promise { @@ -39,7 +39,7 @@ export async function addAssetToCharacter( text: asset.category + (asset.requirement ? ` (requirement: ${asset.requirement})` : ""), - cls: "forged-suggest-hint", + cls: "iv-suggest-hint", }); }, `Choose an asset to add to character ${lens.name.get(character)}.`, diff --git a/src/characters/lens.test.ts b/src/characters/lens.test.ts index 2d9e6aad..8aad0346 100644 --- a/src/characters/lens.test.ts +++ b/src/characters/lens.test.ts @@ -5,8 +5,8 @@ import { ChallengeRanks } from "../tracks/progress"; import { Right } from "../utils/either"; import { Lens, updating } from "../utils/lens"; import { - BaseForgedSchema, - ForgedSheetAssetInput, + BaseIronVaultSchema, + IronVaultSheetAssetInput, ImpactStatus, characterLens, momentumOps, @@ -142,7 +142,7 @@ describe("characterLens", () => { abilities: [true, false, false], controls: { integrity: 2 }, }, - ] as ForgedSheetAssetInput[], + ] as IronVaultSheetAssetInput[], }); actsLikeLens(lens.assets, character, [ { @@ -407,7 +407,7 @@ describe("movesReader", () => { abilities: [false, false, false], }, ], - } satisfies BaseForgedSchema), + } satisfies BaseIronVaultSchema), ), ).toEqual(Right.create([])); }); @@ -425,7 +425,7 @@ describe("movesReader", () => { abilities: [false, true, false], }, ], - } satisfies BaseForgedSchema), + } satisfies BaseIronVaultSchema), ) .unwrap(), ).toHaveLength(0); @@ -442,7 +442,7 @@ describe("movesReader", () => { abilities: [true, true, false], }, ], - } satisfies BaseForgedSchema), + } satisfies BaseIronVaultSchema), ) .unwrap(), ).toMatchObject([ diff --git a/src/characters/lens.ts b/src/characters/lens.ts index 2858da7c..f1345697 100644 --- a/src/characters/lens.ts +++ b/src/characters/lens.ts @@ -42,10 +42,10 @@ export const characterAssetSchema = z.object({ .default({}), }); -export type ForgedSheetAssetInput = z.input; -export type ForgedSheetAssetSchema = z.output; +export type IronVaultSheetAssetInput = z.input; +export type IronVaultSheetAssetSchema = z.output; -export const baseForgedSchema = z +export const baseIronVaultSchema = z .object({ name: z.string(), momentum: z.number().int().gte(-10).lte(10), @@ -53,7 +53,7 @@ export const baseForgedSchema = z }) .passthrough(); -export type BaseForgedSchema = z.input; +export type BaseIronVaultSchema = z.input; export enum ImpactStatus { Unmarked = "⬡", @@ -65,7 +65,7 @@ export interface CharacterLens { momentum: Lens; stats: Record>; condition_meters: Record>; - assets: Lens; + assets: Lens; impacts: Lens>; special_tracks: Record>; ruleset: Ruleset; @@ -429,7 +429,7 @@ export function characterLens(ruleset: Ruleset): { const specialTracks = objectMap(ruleset.special_tracks, (rule) => legacyTrack(rule), ); - const schema = baseForgedSchema.extend({ + const schema = baseIronVaultSchema.extend({ ...objectMap(stats, ({ schema }) => schema), ...objectMap(condition_meters, ({ schema }) => schema), ...Object.fromEntries( @@ -441,18 +441,21 @@ export function characterLens(ruleset: Ruleset): { const lens: CharacterLens = { name: v( - lensForSchemaProp({ path: "name", schema: baseForgedSchema.shape.name }), + lensForSchemaProp({ + path: "name", + schema: baseIronVaultSchema.shape.name, + }), ), momentum: v( lensForSchemaProp({ path: "momentum", - schema: baseForgedSchema.shape.momentum, + schema: baseIronVaultSchema.shape.momentum, }), ), assets: v( lensForSchemaProp({ path: "assets", - schema: baseForgedSchema.shape.assets.default([]), + schema: baseIronVaultSchema.shape.assets.default([]), }), ), stats: objectMap(stats, (defn) => v(lensForSchemaProp(defn))), diff --git a/src/characters/meter-commands.ts b/src/characters/meter-commands.ts index 38a152cd..d0ab86f1 100644 --- a/src/characters/meter-commands.ts +++ b/src/characters/meter-commands.ts @@ -6,7 +6,7 @@ import { updating } from "utils/lens"; import { numberRange } from "utils/numbers"; import { vaultProcess } from "utils/obsidian"; import { CustomSuggestModal } from "utils/suggest"; -import ForgedPlugin from "../index"; +import IronVaultPlugin from "../index"; import { ActionContext, CharacterActionContext, @@ -15,7 +15,7 @@ import { import { MeterWithLens, MeterWithoutLens, momentumOps } from "./lens"; export async function burnMomentum( - plugin: ForgedPlugin, + plugin: IronVaultPlugin, editor: Editor, ): Promise { const [path, charContext] = plugin.characters.activeCharacter(); @@ -86,7 +86,7 @@ export async function promptForMeter( } export const modifyMeterCommand = async ( - plugin: ForgedPlugin, + plugin: IronVaultPlugin, editor: Editor, verb: string, meterFilter: ( diff --git a/src/datastore.ts b/src/datastore.ts index 184b8422..2cca7507 100644 --- a/src/datastore.ts +++ b/src/datastore.ts @@ -4,7 +4,7 @@ import { DataIndex } from "datastore/data-index"; import { indexDataForgedData } from "datastore/parsers/dataforged"; import { ParserReturn, parserForFrontmatter } from "datastore/parsers/markdown"; import { StandardIndex } from "datastore/priority-index"; -import ForgedPlugin from "index"; +import IronVaultPlugin from "index"; import { Oracle } from "model/oracle"; import { Component, @@ -29,7 +29,7 @@ export class Datastore extends Component { // TODO: wtf activeRuleset: string = "starforged"; - constructor(public readonly plugin: ForgedPlugin) { + constructor(public readonly plugin: IronVaultPlugin) { super(); this._ready = false; @@ -53,7 +53,7 @@ export class Datastore extends Component { starforgedRuleset as Datasworn.Ruleset, ); this.index.updateIndexGroup(mainPath, new Set([mainPath])); - this.app.metadataCache.trigger("forged:index-changed"); + this.app.metadataCache.trigger("iron-vault:index-changed"); // TODO: also handle folders // const dataFiles = await this.app.vault.adapter.list( @@ -86,7 +86,7 @@ export class Datastore extends Component { // } // } console.log( - "forged: init complete. loaded: %d oracles, %d moves, %d assets", + "iron-vault: init complete. loaded: %d oracles, %d moves, %d assets", this.index._oracleIndex.size, this.index._moveIndex.size, this.index._assetIndex.size, @@ -175,7 +175,7 @@ export class Datastore extends Component { format: string = "json", ): Promise { console.log( - "forged: datastore: indexing plugin file %s (format: %s priority: %d)", + "iron-vault: datastore: indexing plugin file %s (format: %s priority: %d)", normalizedPath, format, priority, @@ -193,7 +193,7 @@ export class Datastore extends Component { indexDataForgedData(this.index, normalizedPath, priority, data); this.index.updateIndexGroup(normalizedPath, new Set([normalizedPath])); - this.app.metadataCache.trigger("forged:index-changed"); + this.app.metadataCache.trigger("iron-vault:index-changed"); } get ready(): boolean { diff --git a/src/datastore/parsers/markdown.ts b/src/datastore/parsers/markdown.ts index d4dee7cc..fa19af8c 100644 --- a/src/datastore/parsers/markdown.ts +++ b/src/datastore/parsers/markdown.ts @@ -11,19 +11,19 @@ export function parserForFrontmatter( file: TFile, metadata: CachedMetadata | null, ): MarkdownDataParser | undefined { - if (metadata?.frontmatter?.forged == null) { + if (metadata?.frontmatter?.ironvault == null) { return undefined; } - switch (metadata.frontmatter.forged) { + switch (metadata.frontmatter.ironvault) { case "dataforged-inline": return dataforgedInlineParser; case "inline-oracle": return inlineOracleParser(file.basename); default: console.warn( - "[file: %s] unexpected value for `forged` in frontmatter: %s", + "[file: %s] unexpected value for `iron-vault` in frontmatter: %s", file.path, - metadata.frontmatter?.forged, + metadata.frontmatter?.ironvault, ); return undefined; } diff --git a/src/datastore/parsers/table.test.ts b/src/datastore/parsers/table.test.ts index f8a7fbcd..ddceef9f 100644 --- a/src/datastore/parsers/table.test.ts +++ b/src/datastore/parsers/table.test.ts @@ -108,7 +108,7 @@ describe("matchTables", () => { it("finds a table in a markdown file", () => { expect( matchTables( - "---\nforged: inline-oracle\n---\n| dice: 1d6 | Result | \n| --------- | ------ | \n| 1-2 | [Action](id:asdf/asdf) |\n| 3-4 | [Theme](id:asdf) |\n| 5-6 | Just foo |\n", + "---\niron-vault: inline-oracle\n---\n| dice: 1d6 | Result | \n| --------- | ------ | \n| 1-2 | [Action](id:asdf/asdf) |\n| 3-4 | [Theme](id:asdf) |\n| 5-6 | Just foo |\n", ), ).toHaveLength(1); }); diff --git a/src/entity/command.ts b/src/entity/command.ts index d98d47af..fe4af928 100644 --- a/src/entity/command.ts +++ b/src/entity/command.ts @@ -1,6 +1,6 @@ import { NoSuchOracleError } from "model/errors"; import { App, Editor } from "obsidian"; -import ForgedPlugin from "../index"; +import IronVaultPlugin from "../index"; import { Oracle, OracleRollableRow, RollContext } from "../model/oracle"; import { Roll, RollWrapper } from "../model/rolls"; import { OracleRoller } from "../oracles/roller"; @@ -55,7 +55,7 @@ export async function promptOracleRow( } export async function generateEntity( - plugin: ForgedPlugin, + plugin: IronVaultPlugin, entityDesc: EntityDescriptor, ): Promise> { const { datastore } = plugin; @@ -219,7 +219,7 @@ const ENTITIES: Record> = { }; export async function generateEntityCommand( - plugin: ForgedPlugin, + plugin: IronVaultPlugin, editor: Editor, ): Promise { const [, entityDesc] = await CustomSuggestModal.select( diff --git a/src/index.ts b/src/index.ts index 98ff560f..a15e348a 100644 --- a/src/index.ts +++ b/src/index.ts @@ -8,9 +8,9 @@ import { type MarkdownFileInfo, type MarkdownView, } from "obsidian"; -import { ForgedPluginSettings } from "settings"; +import { IronVaultPluginSettings } from "settings"; import { ProgressContext } from "tracks/context"; -import { ForgedAPI } from "./api"; +import { IronVaultAPI } from "./api"; import { CharacterIndexer, CharacterTracker } from "./character-tracker"; import * as meterCommands from "./characters/meter-commands"; import { Datastore } from "./datastore"; @@ -18,7 +18,7 @@ import registerMechanicsBlock from "./mechanics/mechanics-blocks"; import { registerMoveBlock } from "./moves/block"; import { runOracleCommand } from "./oracles/command"; import { registerOracleBlock } from "./oracles/render"; -import { ForgedSettingTab } from "./settings/ui"; +import { IronVaultSettingTab } from "./settings/ui"; import { ClockIndex, ClockIndexer } from "./tracks/clock-file"; import { advanceClock, @@ -36,14 +36,14 @@ import { ViewPlugin, ViewUpdate } from "@codemirror/view"; import registerTrackBlock from "tracks/track-block"; import registerClockBlock from "tracks/clock-block"; -export default class ForgedPlugin extends Plugin { - settings!: ForgedPluginSettings; +export default class IronVaultPlugin extends Plugin { + settings!: IronVaultPluginSettings; datastore!: Datastore; characters!: CharacterTracker; progressIndex!: ProgressIndex; clockIndex!: ClockIndex; indexManager!: IndexManager; - api!: ForgedAPI; + api!: IronVaultAPI; private async initialize(): Promise { await this.datastore.initialize(); @@ -77,14 +77,14 @@ export default class ForgedPlugin extends Plugin { this.app.workspace.onLayoutReady(() => this.initialize()); } - window.ForgedAPI = this.api = new ForgedAPI(this); - this.register(() => delete window.ForgedAPI); + window.IronVaultAPI = this.api = new IronVaultAPI(this); + this.register(() => delete window.IronVaultAPI); installMoveLinkHandler(this); installOracleLinkHandler(this); this.installIdLinkHandler(this); this.registerView(VIEW_TYPE, (leaf) => new SidebarView(leaf, this)); - this.addRibbonIcon("dice", "Forged", () => { + this.addRibbonIcon("dice", "Iron Vault", () => { return this.activateView(); }); // This adds a status bar item to the bottom of the app. Does not work on mobile apps. @@ -209,13 +209,13 @@ export default class ForgedPlugin extends Plugin { name: "Toggle Displaying Mechanics", editorCallback: async (editor: Editor) => { editor.containerEl.ownerDocument.body.classList.toggle( - "collapse-forged-mechanics", + "collapse-iron-vault-mechanics", ); }, }); // This adds a settings tab so the user can configure various aspects of the plugin - this.addSettingTab(new ForgedSettingTab(this.app, this)); + this.addSettingTab(new IronVaultSettingTab(this.app, this)); registerMoveBlock(this); registerOracleBlock(this, this.datastore); @@ -245,7 +245,7 @@ export default class ForgedPlugin extends Plugin { async loadSettings(): Promise { const settings = Object.assign( - new ForgedPluginSettings(), + new IronVaultPluginSettings(), await this.loadData(), // Remove unused old variables { moveBlockFormat: undefined }, @@ -261,7 +261,7 @@ export default class ForgedPlugin extends Plugin { await this.saveData(this.settings); } - installIdLinkHandler(plugin: ForgedPlugin) { + installIdLinkHandler(plugin: IronVaultPlugin) { const handler = (ev: MouseEvent) => { if ( !(ev.target instanceof HTMLAnchorElement) || diff --git a/src/indexer/manager.ts b/src/indexer/manager.ts index 669943c2..5b215396 100644 --- a/src/indexer/manager.ts +++ b/src/indexer/manager.ts @@ -146,14 +146,14 @@ export class IndexManager extends Component { // } else { // return false; // } - const kind = cache.frontmatter?.forgedkind; + const kind = cache.frontmatter?.ironvaultkind; if (kind) { const indexer = this.handlers.get(kind); if (indexer) { return indexer; } else { console.warn( - '[indexer] [file:%s] unknown forgedkind "%s"', + '[indexer] [file:%s] unknown ironvaultkind "%s"', file.path, kind, ); diff --git a/src/mechanics/css/details.css b/src/mechanics/css/details.css index bf5f779f..d6bcc78f 100644 --- a/src/mechanics/css/details.css +++ b/src/mechanics/css/details.css @@ -1,4 +1,4 @@ -.forged-mechanics .detail { +.iv-mechanics .detail { color: var(--text-muted); --blockquote-background-color: var(--background-primary); --blockquote-color: var(--text-muted); diff --git a/src/mechanics/css/dlist-add.css b/src/mechanics/css/dlist-add.css index a20ffd83..875bf7e3 100644 --- a/src/mechanics/css/dlist-add.css +++ b/src/mechanics/css/dlist-add.css @@ -1,4 +1,4 @@ -.forged-mechanics dl.add { +.iv-mechanics dl.add { &:before { content: "➕"; } @@ -30,4 +30,3 @@ } } } - diff --git a/src/mechanics/css/dlist-burn.css b/src/mechanics/css/dlist-burn.css index ca42e8c5..be9483c5 100644 --- a/src/mechanics/css/dlist-burn.css +++ b/src/mechanics/css/dlist-burn.css @@ -1,4 +1,4 @@ -.forged-mechanics dl.burn { +.iv-mechanics dl.burn { &:before { content: "🔥"; } diff --git a/src/mechanics/css/dlist-clock.css b/src/mechanics/css/dlist-clock.css index ea59f125..22ae5179 100644 --- a/src/mechanics/css/dlist-clock.css +++ b/src/mechanics/css/dlist-clock.css @@ -1,4 +1,4 @@ -.forged-mechanics dl.clock { +.iv-mechanics dl.clock { &:before { content: "🕒"; } @@ -8,10 +8,13 @@ content: ": "; } } - &.from, &.to, &.out-of { + &.from, + &.to, + &.out-of { color: var(--text-accent); } - &.from, &.to { + &.from, + &.to { &:before { content: none; } diff --git a/src/mechanics/css/dlist-meter.css b/src/mechanics/css/dlist-meter.css index 05682f36..14034b9e 100644 --- a/src/mechanics/css/dlist-meter.css +++ b/src/mechanics/css/dlist-meter.css @@ -1,4 +1,4 @@ -.forged-mechanics dl.meter { +.iv-mechanics dl.meter { &:before { content: "📊"; } diff --git a/src/mechanics/css/dlist-oracle.css b/src/mechanics/css/dlist-oracle.css index 8898c4ff..157ed0bf 100644 --- a/src/mechanics/css/dlist-oracle.css +++ b/src/mechanics/css/dlist-oracle.css @@ -1,4 +1,4 @@ -.forged-mechanics dl.oracle { +.iv-mechanics dl.oracle { &:before { content: "🔮"; } diff --git a/src/mechanics/css/dlist-progress.css b/src/mechanics/css/dlist-progress.css index 3caaa2d1..f78e5be0 100644 --- a/src/mechanics/css/dlist-progress.css +++ b/src/mechanics/css/dlist-progress.css @@ -1,4 +1,4 @@ -.forged-mechanics .progress { +.iv-mechanics .progress { &:before { content: "🚀"; } diff --git a/src/mechanics/css/dlist-reroll.css b/src/mechanics/css/dlist-reroll.css index b6901064..c339f7e5 100644 --- a/src/mechanics/css/dlist-reroll.css +++ b/src/mechanics/css/dlist-reroll.css @@ -1,4 +1,4 @@ -.forged-mechanics dl.reroll { +.iv-mechanics dl.reroll { &:before { content: "🔁"; } diff --git a/src/mechanics/css/dlist-roll.css b/src/mechanics/css/dlist-roll.css index d26ca1e0..67541fb7 100644 --- a/src/mechanics/css/dlist-roll.css +++ b/src/mechanics/css/dlist-roll.css @@ -1,4 +1,4 @@ -.forged-mechanics dl.roll { +.iv-mechanics dl.roll { &:before { content: "🎲"; } @@ -7,7 +7,7 @@ } & dd { &.stat:before { - content: " + " + content: " + "; } &.stat-name { color: var(--text-faint); diff --git a/src/mechanics/css/dlist-shared.css b/src/mechanics/css/dlist-shared.css index cafa459d..b904c41b 100644 --- a/src/mechanics/css/dlist-shared.css +++ b/src/mechanics/css/dlist-shared.css @@ -1,4 +1,4 @@ -.forged-mechanics dl { +.iv-mechanics dl { &:before { margin-right: 0.5em; } diff --git a/src/mechanics/css/dlist-track.css b/src/mechanics/css/dlist-track.css index e6eb2bea..844d894f 100644 --- a/src/mechanics/css/dlist-track.css +++ b/src/mechanics/css/dlist-track.css @@ -1,4 +1,4 @@ -.forged-mechanics .track { +.iv-mechanics .track { &:before { content: "❎"; } @@ -30,4 +30,3 @@ } } } - diff --git a/src/mechanics/css/dlist-xp.css b/src/mechanics/css/dlist-xp.css index ea624cc7..34f1b8bc 100644 --- a/src/mechanics/css/dlist-xp.css +++ b/src/mechanics/css/dlist-xp.css @@ -1,4 +1,4 @@ -.forged-mechanics dl.xp { +.iv-mechanics dl.xp { &:before { content: "💡"; } @@ -33,4 +33,3 @@ } } } - diff --git a/src/mechanics/css/mechanics.css b/src/mechanics/css/mechanics.css index e25f5bfc..6f564a5d 100644 --- a/src/mechanics/css/mechanics.css +++ b/src/mechanics/css/mechanics.css @@ -15,11 +15,11 @@ @import url("dlist-clock.css"); @import url("dlist-oracle.css"); -.collapse-forged-mechanics .forged-mechanics { +.collapse-iv-mechanics .iv-mechanics { display: none; } -.forged-mechanics { +.iv-mechanics { cursor: default; margin: 0.5em auto; max-width: 460px; diff --git a/src/mechanics/css/move.css b/src/mechanics/css/move.css index f52a8df3..64c414b4 100644 --- a/src/mechanics/css/move.css +++ b/src/mechanics/css/move.css @@ -1,4 +1,4 @@ -.forged-mechanics details.move { +.iv-mechanics details.move { margin: 0.5em auto; border: 1px solid var(--color-base-30); border-radius: 10px; diff --git a/src/mechanics/css/oracle-group.css b/src/mechanics/css/oracle-group.css index 9e77d968..e420588b 100644 --- a/src/mechanics/css/oracle-group.css +++ b/src/mechanics/css/oracle-group.css @@ -1,4 +1,4 @@ -.forged-mechanics .oracle-group { +.iv-mechanics .oracle-group { &:before { content: "🔮🔁"; margin-right: 0.5em; diff --git a/src/mechanics/css/paragraphs.css b/src/mechanics/css/paragraphs.css index 2b874e7f..d1404ca3 100644 --- a/src/mechanics/css/paragraphs.css +++ b/src/mechanics/css/paragraphs.css @@ -1,4 +1,4 @@ -.forged-mechanics p { +.iv-mechanics p { &:before { margin-right: 0.5em; } diff --git a/src/mechanics/css/summary.css b/src/mechanics/css/summary.css index 7f08e231..9499f2fb 100644 --- a/src/mechanics/css/summary.css +++ b/src/mechanics/css/summary.css @@ -1,4 +1,4 @@ -.forged-mechanics .move { +.iv-mechanics .move { &[open] summary:has(+ *) { border-bottom: 1px dashed var(--color-base-50); } @@ -23,7 +23,8 @@ padding: 0.5em 1em; text-align: left; font-weight: var(--font-extrabold); - &::marker, &::-webkit-details-marker { + &::marker, + &::-webkit-details-marker { display: none; } & > button:last-child { diff --git a/src/mechanics/mechanics-blocks.ts b/src/mechanics/mechanics-blocks.ts index 246147aa..84b17375 100644 --- a/src/mechanics/mechanics-blocks.ts +++ b/src/mechanics/mechanics-blocks.ts @@ -7,9 +7,9 @@ import { import { MoveModal } from "moves/move-modal"; import { ProgressTrack } from "tracks/progress"; -import ForgedPlugin from "../index"; +import IronVaultPlugin from "../index"; -export default function registerMechanicsBlock(plugin: ForgedPlugin): void { +export default function registerMechanicsBlock(plugin: IronVaultPlugin): void { plugin.registerMarkdownCodeBlockProcessor( "mechanics", async (source, el: MechanicsContainerEl, ctx) => { @@ -33,7 +33,7 @@ interface MechanicsContainerEl extends HTMLElement { } export class MechanicsRenderer { - plugin: ForgedPlugin; + plugin: IronVaultPlugin; sourcePath: string; lastRoll: KdlNode | undefined; moveEl: HTMLElement | undefined; @@ -46,7 +46,7 @@ export class MechanicsRenderer { constructor( contentEl: HTMLElement, source: string, - plugin: ForgedPlugin, + plugin: IronVaultPlugin, sourcePath: string, ) { this.contentEl = contentEl; @@ -77,7 +77,7 @@ export class MechanicsRenderer { } const doc = res.output; this.mechNode = this.contentEl.createEl("article", { - cls: "forged-mechanics", + cls: "iv-mechanics", }); this.mechNode.classList.toggle("collapsed", this.hideMechanics); await this.renderChildren(this.mechNode, doc); diff --git a/src/moves/action/index.ts b/src/moves/action/index.ts index d20eb04e..fdad53e5 100644 --- a/src/moves/action/index.ts +++ b/src/moves/action/index.ts @@ -4,7 +4,7 @@ import { CharacterActionContext, determineCharacterActionContext, } from "characters/action-context"; -import ForgedPlugin from "index"; +import IronVaultPlugin from "index"; import { type App, type Editor, @@ -82,7 +82,7 @@ async function promptForMove( const moveKind = getMoveKind(move); el.createEl("small", { text: `(${moveKind}) ${move.trigger.text}`, - cls: "forged-suggest-hint", + cls: "iv-suggest-hint", }); }, `Select a move`, @@ -201,7 +201,7 @@ export function validAdds(baseStat: number): number[] { } export async function runMoveCommand( - plugin: ForgedPlugin, + plugin: IronVaultPlugin, editor: Editor, view: MarkdownView, chosenMove?: Datasworn.Move, @@ -433,7 +433,7 @@ async function promptForRollable( if (item.condition.length > 0) { el.createEl("small", { text: `Trigger: ${item.condition.flatMap((cond) => cond.text ?? []).join("; ")}`, - cls: "forged-suggest-hint", + cls: "iv-suggest-hint", }); } }, diff --git a/src/moves/block.ts b/src/moves/block.ts index cec7d0b5..59a1b4af 100644 --- a/src/moves/block.ts +++ b/src/moves/block.ts @@ -1,7 +1,7 @@ import { type Datasworn } from "@datasworn/core"; import { Datastore } from "datastore"; import { MarkdownRenderChild, MarkdownRenderer, type App } from "obsidian"; -import ForgedPlugin from "../index"; +import IronVaultPlugin from "../index"; import { NoRollMoveDescription, moveIsAction, @@ -20,7 +20,7 @@ import { lookupOutcome, } from "./wrapper"; -export function registerMoveBlock(plugin: ForgedPlugin): void { +export function registerMoveBlock(plugin: IronVaultPlugin): void { plugin.registerMarkdownCodeBlockProcessor("move", async (source, el, ctx) => { await plugin.datastore.waitForReady; const validatedMove = parseMoveBlock(source); diff --git a/src/moves/link-override.ts b/src/moves/link-override.ts index ab696402..8aa2941e 100644 --- a/src/moves/link-override.ts +++ b/src/moves/link-override.ts @@ -1,8 +1,8 @@ -import ForgedPlugin from "index"; +import IronVaultPlugin from "index"; import { MoveModal } from "./move-modal"; import { ViewPlugin, ViewUpdate } from "@codemirror/view"; -export default function installMoveLinkHandler(plugin: ForgedPlugin) { +export default function installMoveLinkHandler(plugin: IronVaultPlugin) { const handler = (ev: MouseEvent) => { if ( !(ev.target instanceof HTMLAnchorElement) || diff --git a/src/moves/move-modal.ts b/src/moves/move-modal.ts index 536531ee..e41ae8e1 100644 --- a/src/moves/move-modal.ts +++ b/src/moves/move-modal.ts @@ -1,5 +1,5 @@ import { Move } from "@datasworn/core/dist/Datasworn"; -import ForgedPlugin from "index"; +import IronVaultPlugin from "index"; import { App, ButtonComponent, @@ -10,11 +10,11 @@ import { import { runMoveCommand } from "./action"; export class MoveModal extends Modal { - plugin: ForgedPlugin; + plugin: IronVaultPlugin; move: Move; moveHistory: Move[] = []; - constructor(app: App, plugin: ForgedPlugin, move: Move) { + constructor(app: App, plugin: IronVaultPlugin, move: Move) { super(app); this.plugin = plugin; this.move = move; @@ -24,7 +24,7 @@ export class MoveModal extends Modal { this.setTitle(move.name); const { contentEl } = this; contentEl.empty(); - contentEl.toggleClass("forged-modal-content", true); + contentEl.toggleClass("iv-modal-content", true); (async () => { new ButtonComponent(contentEl) .setButtonText("Make this move") diff --git a/src/oracles/command.ts b/src/oracles/command.ts index 37bad814..aab2ca20 100644 --- a/src/oracles/command.ts +++ b/src/oracles/command.ts @@ -96,7 +96,7 @@ export async function runOracleCommand( formatOraclePath, (match, el) => { const ruleset = oracleRuleset(match.item); - el.createEl("small", { text: ruleset, cls: "forged-suggest-hint" }); + el.createEl("small", { text: ruleset, cls: "iv-suggest-hint" }); }, prompt ? `Select an oracle to answer '${prompt}'` : "Select an oracle", ); diff --git a/src/oracles/css/oracles.css b/src/oracles/css/oracles.css index 22bbe8b1..a6bea5ce 100644 --- a/src/oracles/css/oracles.css +++ b/src/oracles/css/oracles.css @@ -1,4 +1,4 @@ -.forged-oracle-modal { +.iv-oracle-modal { & table { width: 100%; & td { diff --git a/src/oracles/link-override.ts b/src/oracles/link-override.ts index 54d89aba..2e5fd095 100644 --- a/src/oracles/link-override.ts +++ b/src/oracles/link-override.ts @@ -1,8 +1,8 @@ -import ForgedPlugin from "index"; +import IronVaultPlugin from "index"; import { OracleModal } from "./oracle-modal"; import { ViewPlugin, ViewUpdate } from "@codemirror/view"; -export default function installOracleLinkHandler(plugin: ForgedPlugin) { +export default function installOracleLinkHandler(plugin: IronVaultPlugin) { const handler = (ev: MouseEvent) => { if ( !(ev.target instanceof HTMLAnchorElement) || diff --git a/src/oracles/oracle-modal.ts b/src/oracles/oracle-modal.ts index 88b1e394..785c76af 100644 --- a/src/oracles/oracle-modal.ts +++ b/src/oracles/oracle-modal.ts @@ -1,13 +1,13 @@ -import ForgedPlugin from "index"; +import IronVaultPlugin from "index"; import { Oracle } from "model/oracle"; import { App, ButtonComponent, MarkdownView, Modal } from "obsidian"; import { runOracleCommand } from "oracles/command"; export class OracleModal extends Modal { - plugin: ForgedPlugin; + plugin: IronVaultPlugin; oracle: Oracle; - constructor(app: App, plugin: ForgedPlugin, oracle: Oracle) { + constructor(app: App, plugin: IronVaultPlugin, oracle: Oracle) { super(app); this.plugin = plugin; this.oracle = oracle; @@ -15,9 +15,9 @@ export class OracleModal extends Modal { openOracle(oracle: Oracle) { const { contentEl } = this; - contentEl.toggleClass("forged-modal-content", true); + contentEl.toggleClass("iv-modal-content", true); this.setTitle(oracle.name); - contentEl.classList.toggle("forged-oracle-modal", true); + contentEl.classList.toggle("iv-oracle-modal", true); (async () => { const btn = new ButtonComponent(contentEl); btn diff --git a/src/oracles/render.ts b/src/oracles/render.ts index e2e7c3ea..0226fb8f 100644 --- a/src/oracles/render.ts +++ b/src/oracles/render.ts @@ -177,7 +177,7 @@ class OracleMarkdownRenderChild extends MarkdownRenderChild { await this.render(); } this.registerEvent( - this.app.metadataCache.on("forged:index-changed", async () => { + this.app.metadataCache.on("iron-vault:index-changed", async () => { await this.render(); }), ); diff --git a/src/settings/index.ts b/src/settings/index.ts index 3105684e..07c67f10 100644 --- a/src/settings/index.ts +++ b/src/settings/index.ts @@ -3,7 +3,7 @@ import Handlebars from "handlebars"; import { ClockFileAdapter } from "tracks/clock-file"; import { ProgressTrackFileAdapter, ProgressTrackInfo } from "tracks/progress"; -export class ForgedPluginSettings { +export class IronVaultPluginSettings { advanceProgressTemplate: string = "> [!progress] [[{{trackPath}}|{{trackInfo.name}}]]: Marked {{steps}} progress ({{trackInfo.track.boxesFilled}} ![[progress-box-4.svg|15]] total)\n> Ticks: {{originalInfo.track.progress}} + {{ticks}} -> {{trackInfo.track.progress}}\n> Milestone: \n\n"; createProgressTemplate: string = @@ -34,10 +34,10 @@ export class ForgedPluginSettings { constructor() { this.emitter = new Emittery(); return new Proxy(this, { - set( - target: ForgedPluginSettings, + set( + target: IronVaultPluginSettings, key: K, - newValue: ForgedPluginSettings[K], + newValue: IronVaultPluginSettings[K], ) { if (key === "emitter") { return true; @@ -75,9 +75,9 @@ export class ForgedPluginSettings { export type EVENT_TYPES = { change: { - key: keyof ForgedPluginSettings; - oldValue: ForgedPluginSettings[keyof ForgedPluginSettings]; - newValue: ForgedPluginSettings[keyof ForgedPluginSettings]; + key: keyof IronVaultPluginSettings; + oldValue: IronVaultPluginSettings[keyof IronVaultPluginSettings]; + newValue: IronVaultPluginSettings[keyof IronVaultPluginSettings]; }; }; @@ -102,7 +102,9 @@ export type CreateProgressTemplateParams = { }; function compileTemplate( key: K, -): (settings: ForgedPluginSettings) => (context: TEMPLATE_TYPES[K]) => string { +): ( + settings: IronVaultPluginSettings, +) => (context: TEMPLATE_TYPES[K]) => string { return (settings) => (context) => Handlebars.compile(settings[key], { noEscape: true, diff --git a/src/settings/ui.ts b/src/settings/ui.ts index 3cab6247..c7183e72 100644 --- a/src/settings/ui.ts +++ b/src/settings/ui.ts @@ -1,19 +1,19 @@ -import ForgedPlugin from "index"; +import IronVaultPlugin from "index"; import { PluginSettingTab, Setting, type App } from "obsidian"; -import { ForgedPluginSettings } from "settings"; +import { IronVaultPluginSettings } from "settings"; import { FolderTextSuggest } from "utils/ui/settings/folder"; -export class ForgedSettingTab extends PluginSettingTab { - plugin: ForgedPlugin; +export class IronVaultSettingTab extends PluginSettingTab { + plugin: IronVaultPlugin; - constructor(app: App, plugin: ForgedPlugin) { + constructor(app: App, plugin: IronVaultPlugin) { super(app, plugin); this.plugin = plugin; } - async updateSetting( + async updateSetting( key: K, - value: ForgedPluginSettings[K], + value: IronVaultPluginSettings[K], ) { this.plugin.settings[key] = value; await this.plugin.saveSettings(); diff --git a/src/sidebar/css/moves.css b/src/sidebar/css/moves.css index 184a40ee..053a25da 100644 --- a/src/sidebar/css/moves.css +++ b/src/sidebar/css/moves.css @@ -1,4 +1,4 @@ -.forged-sidebar-view .move-tab { +.iv-sidebar-view .move-tab { & summary span { font-size: 1.4em; font-weight: var(--font-semibold); diff --git a/src/sidebar/css/oracles.css b/src/sidebar/css/oracles.css index 8542fc8f..a6ae250a 100644 --- a/src/sidebar/css/oracles.css +++ b/src/sidebar/css/oracles.css @@ -1,4 +1,4 @@ -.forged-sidebar-view .oracle-tab { +.iv-sidebar-view .oracle-tab { & .ruleset { & > .wrapper > details span { font-size: 1.4em; diff --git a/src/sidebar/css/sidebar.css b/src/sidebar/css/sidebar.css index 2ab63949..15a5ab14 100644 --- a/src/sidebar/css/sidebar.css +++ b/src/sidebar/css/sidebar.css @@ -2,7 +2,7 @@ @import url("moves.css"); @import url("tab-content-shared.css"); -[data-type="forged-sidebar-view"] { +[data-type="iv-sidebar-view"] { & .view-content { padding: 0; & > :first-child { @@ -11,7 +11,7 @@ } } -.forged-sidebar-view { +.iv-sidebar-view { &.tabs { position: relative; min-height: 100%; diff --git a/src/sidebar/css/tab-content-shared.css b/src/sidebar/css/tab-content-shared.css index 346171ee..1bc75801 100644 --- a/src/sidebar/css/tab-content-shared.css +++ b/src/sidebar/css/tab-content-shared.css @@ -1,4 +1,4 @@ -.forged-sidebar-view.tabs > .tab > .content { +.iv-sidebar-view.tabs > .tab > .content { position: absolute; top: 2.6em; left: 0; diff --git a/src/sidebar/moves.ts b/src/sidebar/moves.ts index 3f237cb3..4b4a9c81 100644 --- a/src/sidebar/moves.ts +++ b/src/sidebar/moves.ts @@ -2,13 +2,13 @@ import { Move, MoveCategory } from "@datasworn/core/dist/Datasworn"; import { html, render } from "lit-html"; import { map } from "lit-html/directives/map.js"; -import ForgedPlugin from "index"; +import IronVaultPlugin from "index"; import { MoveModal } from "moves/move-modal"; import { md } from "utils/ui/directives"; -export default async function renderForgedMoves( +export default async function renderIronVaultMoves( cont: HTMLElement, - plugin: ForgedPlugin, + plugin: IronVaultPlugin, ) { const loading = cont.createEl("p", { text: "Loading data..." }); await plugin.datastore.waitForReady; @@ -16,7 +16,7 @@ export default async function renderForgedMoves( litHtmlMoveList(cont, plugin); } -function litHtmlMoveList(cont: HTMLElement, plugin: ForgedPlugin) { +function litHtmlMoveList(cont: HTMLElement, plugin: IronVaultPlugin) { const tpl = html`
    ${map(plugin.datastore.moveCategories.values(), (cat) => @@ -27,7 +27,7 @@ function litHtmlMoveList(cont: HTMLElement, plugin: ForgedPlugin) { render(tpl, cont); } -function renderCategory(plugin: ForgedPlugin, category: MoveCategory) { +function renderCategory(plugin: IronVaultPlugin, category: MoveCategory) { return html`
  1. @@ -40,7 +40,7 @@ function renderCategory(plugin: ForgedPlugin, category: MoveCategory) {
  2. `; } -function renderMove(plugin: ForgedPlugin, move: Move) { +function renderMove(plugin: IronVaultPlugin, move: Move) { return html`
  3. { diff --git a/src/sidebar/oracles.ts b/src/sidebar/oracles.ts index 22644844..ac2b1740 100644 --- a/src/sidebar/oracles.ts +++ b/src/sidebar/oracles.ts @@ -1,4 +1,4 @@ -import ForgedPlugin from "index"; +import IronVaultPlugin from "index"; import { MarkdownView, getIcon } from "obsidian"; import { runOracleCommand } from "oracles/command"; import { OracleModal } from "oracles/oracle-modal"; @@ -6,9 +6,9 @@ import { html, render } from "lit-html"; import { map } from "lit-html/directives/map.js"; import { Oracle, OracleRulesetGrouping } from "model/oracle"; -export default async function renderForgedOracles( +export default async function renderIronVaultOracles( cont: HTMLElement, - plugin: ForgedPlugin, + plugin: IronVaultPlugin, ) { const loading = cont.createEl("p", { text: "Loading data..." }); await plugin.datastore.waitForReady; @@ -27,7 +27,7 @@ interface CollectionGrouping { children: Oracle[]; } -function getOracleTree(plugin: ForgedPlugin) { +function getOracleTree(plugin: IronVaultPlugin) { const oracles = plugin.datastore.oracles; const rulesets: Map = new Map(); const groupings: Map = new Map(); @@ -48,7 +48,7 @@ function getOracleTree(plugin: ForgedPlugin) { ? topGroup.parent : ({ name: "Homebrew", - id: "forged_homebrew", + id: "iron_vault_homebrew", } as OracleRulesetGrouping); let ruleset = rulesets.get(top.id); @@ -76,7 +76,7 @@ function getOracleTree(plugin: ForgedPlugin) { return rulesets.values(); } -function renderOracleList(plugin: ForgedPlugin) { +function renderOracleList(plugin: IronVaultPlugin) { const rulesets = getOracleTree(plugin); return html`
      @@ -85,7 +85,7 @@ function renderOracleList(plugin: ForgedPlugin) { `; } -function renderRuleset(plugin: ForgedPlugin, ruleset: RulesetGrouping) { +function renderRuleset(plugin: IronVaultPlugin, ruleset: RulesetGrouping) { return html`
    • @@ -100,7 +100,7 @@ function renderRuleset(plugin: ForgedPlugin, ruleset: RulesetGrouping) { `; } -function renderGroup(plugin: ForgedPlugin, group: CollectionGrouping) { +function renderGroup(plugin: IronVaultPlugin, group: CollectionGrouping) { return html`
    • @@ -123,7 +123,7 @@ function renderGroup(plugin: ForgedPlugin, group: CollectionGrouping) { `; } -function renderOracle(plugin: ForgedPlugin, oracle: Oracle) { +function renderOracle(plugin: IronVaultPlugin, oracle: Oracle) { return html`
    • handleOracleRoll(ev, plugin, oracle)}> ${oracle.name} @@ -134,14 +134,14 @@ function renderOracle(plugin: ForgedPlugin, oracle: Oracle) { `; } -function rollOracleBatch(plugin: ForgedPlugin, oracles: Oracle[]) { +function rollOracleBatch(plugin: IronVaultPlugin, oracles: Oracle[]) { // TODO(@zkat): actually hook this up. console.log("Rolling all these oracles:", oracles); } function handleOracleRoll( ev: MouseEvent, - plugin: ForgedPlugin, + plugin: IronVaultPlugin, _oracle: Oracle, ) { ev.stopPropagation(); @@ -155,6 +155,6 @@ function handleOracleRoll( } } -function openOracleModal(plugin: ForgedPlugin, oracle: Oracle) { +function openOracleModal(plugin: IronVaultPlugin, oracle: Oracle) { new OracleModal(plugin.app, plugin, oracle).open(); } diff --git a/src/sidebar/sidebar-view.ts b/src/sidebar/sidebar-view.ts index f122f04d..26eb5bf5 100644 --- a/src/sidebar/sidebar-view.ts +++ b/src/sidebar/sidebar-view.ts @@ -1,16 +1,16 @@ import { ItemView, WorkspaceLeaf } from "obsidian"; import { render, html } from "lit-html"; -import ForgedPlugin from "index"; -import renderForgedOracles from "./oracles"; -import renderForgedMoves from "./moves"; +import IronVaultPlugin from "index"; +import renderIronVaultOracles from "./oracles"; +import renderIronVaultMoves from "./moves"; -export const VIEW_TYPE = "forged-sidebar-view"; +export const VIEW_TYPE = "iv-sidebar-view"; export class SidebarView extends ItemView { - plugin: ForgedPlugin; + plugin: IronVaultPlugin; - constructor(leaf: WorkspaceLeaf, plugin: ForgedPlugin) { + constructor(leaf: WorkspaceLeaf, plugin: IronVaultPlugin) { super(leaf); this.plugin = plugin; } @@ -20,7 +20,7 @@ export class SidebarView extends ItemView { } getDisplayText() { - return "Forged"; + return "IronVault"; } getIcon() { @@ -31,7 +31,7 @@ export class SidebarView extends ItemView { const container = this.containerEl.children[1]; container.empty(); const tpl = html` -