diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ba9b37d..210ef4d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,8 +1,9 @@ name: Release on: - release: - types: [published] + push: + tags: + - "*" jobs: release: @@ -61,10 +62,13 @@ jobs: styles.css manifest.json - - name: Upload release assets + # Create the release and attach its required files in one operation. Triggering + # this workflow after a release is published leaves a window where Obsidian's + # publisher sees a release with no assets and rejects it. + - name: Create GitHub Release with assets env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: gh release upload "$GITHUB_REF_NAME" main.js styles.css manifest.json --clobber + run: gh release create "$GITHUB_REF_NAME" main.js styles.css manifest.json --verify-tag --generate-notes - name: Verify the published assets are attested env: diff --git a/main.js b/main.js index 99ce02a..49fc5b3 100644 --- a/main.js +++ b/main.js @@ -7881,7 +7881,7 @@ var et = class extends x.PluginSettingTab { render: (s) => { (s.settingEl.empty(), s.settingEl.addClass("simplicial-settings-section"), - s.settingEl.createEl("h3", { text: e }), + new x.Setting(s.settingEl).setName(e).setHeading(), i(s.settingEl), this.refreshSettingVisibility()); }, @@ -7904,7 +7904,7 @@ var et = class extends x.PluginSettingTab { } renderDisplaySection(e, n, i) { let s = e.createDiv({ cls: "simplicial-settings-section" }); - (s.createEl("h3", { text: n }), i(s)); + (new x.Setting(s).setName(n).setHeading(), i(s)); } renderPersistenceSettings(e) { (new x.Setting(e) diff --git a/settings/setting-tab.ts b/settings/setting-tab.ts index 116c2d2..6cf0b1d 100644 --- a/settings/setting-tab.ts +++ b/settings/setting-tab.ts @@ -135,7 +135,7 @@ export class SimplicialSettingTab extends PluginSettingTab { render: (setting) => { setting.settingEl.empty(); setting.settingEl.addClass("simplicial-settings-section"); - setting.settingEl.createEl("h3", { text: name }); + new Setting(setting.settingEl).setName(name).setHeading(); render(setting.settingEl); this.refreshSettingVisibility(); }, @@ -162,7 +162,7 @@ export class SimplicialSettingTab extends PluginSettingTab { private renderDisplaySection(containerEl: HTMLElement, name: string, render: (sectionEl: HTMLElement) => void): void { const sectionEl = containerEl.createDiv({ cls: "simplicial-settings-section" }); - sectionEl.createEl("h3", { text: name }); + new Setting(sectionEl).setName(name).setHeading(); render(sectionEl); } diff --git a/styles.css b/styles.css index 5c701f2..bc42319 100644 --- a/styles.css +++ b/styles.css @@ -857,7 +857,7 @@ legacy display() path. The outer searchable Setting is normally a flex row; reset it before nesting real setting rows inside. */ .simplicial-settings-section { - display: block !important; + display: block; width: 100%; min-width: 0; box-sizing: border-box; @@ -865,7 +865,7 @@ padding: 0; } -.simplicial-settings-section > h3 { +.simplicial-settings-section > .setting-item-heading { margin: 0; padding: 0 0 10px; border-bottom: 1px solid var(--background-modifier-border); @@ -878,7 +878,7 @@ .simplicial-settings-section > .emergent-settings > .setting-item { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(240px, 300px); - column-gap: 24px; + gap: 0 24px; align-items: center; width: 100%; min-width: 0;