fixed universal colour settings and lined paper setting
This commit is contained in:
parent
7c5a6a6b0d
commit
29695b3de0
41
main.ts
41
main.ts
|
@ -8,18 +8,15 @@ interface PaperSettings {
|
|||
|
||||
interface GridSettings {
|
||||
gridSize: number;
|
||||
gridColour: string;
|
||||
}
|
||||
|
||||
interface LinedSettings {
|
||||
lineHeight: number;
|
||||
lineColour: string;
|
||||
}
|
||||
|
||||
interface BulletSettings {
|
||||
dotSize: number;
|
||||
dotSpacing: number;
|
||||
dotColour: string;
|
||||
}
|
||||
|
||||
interface PluginSettings {
|
||||
|
@ -36,17 +33,14 @@ const DEFAULT_SETTINGS: PluginSettings = {
|
|||
colour: 'rgba(255, 255, 255, 1)',
|
||||
},
|
||||
grid: {
|
||||
gridSize: 50,
|
||||
gridColour: 'rgba(255, 255, 255, 1)',
|
||||
gridSize: 50,
|
||||
},
|
||||
lined: {
|
||||
lineHeight: 20,
|
||||
lineColour: 'rgba(255, 255, 255, 1)',
|
||||
},
|
||||
bullet: {
|
||||
dotSize: 5,
|
||||
dotSpacing: 20,
|
||||
dotColour: 'rgba(255, 255, 255, 1)',
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -80,8 +74,8 @@ export default class GridBackgroundPlugin extends Plugin {
|
|||
.markdown-source-view,
|
||||
.markdown-preview-view {
|
||||
background-image:
|
||||
linear-gradient(to right, rgba(${validColour.match(/\d+, \d+, \d+/)?.[0]}, ${transparency}) 1px, transparent 1px),
|
||||
linear-gradient(to bottom, rgba(${validColour.match(/\d+, \d+, \d+/)?.[0]}, ${transparency}) 1px, transparent 1px);
|
||||
linear-gradient(to right, transparent ${gridSize - 1}px, rgba(${validColour.match(/\d+, \d+, \d+/)?.[0]}, ${transparency}) 1px),
|
||||
linear-gradient(to bottom, transparent ${gridSize - 1}px, rgba(${validColour.match(/\d+, \d+, \d+/)?.[0]}, ${transparency}) 1px);
|
||||
background-size: ${gridSize}px ${gridSize}px;
|
||||
}
|
||||
`;
|
||||
|
@ -90,7 +84,13 @@ export default class GridBackgroundPlugin extends Plugin {
|
|||
cssContent = `
|
||||
.markdown-source-view,
|
||||
.markdown-preview-view {
|
||||
background-image: linear-gradient(to bottom, rgba(${validColour.match(/\d+, \d+, \d+/)?.[0]}, ${transparency}) 1px, transparent ${lineHeight - 1}px);
|
||||
background-image: repeating-linear-gradient(
|
||||
to bottom,
|
||||
rgba(${validColour.match(/\d+, \d+, \d+/)?.[0]}, ${transparency}) 0px,
|
||||
rgba(${validColour.match(/\d+, \d+, \d+/)?.[0]}, ${transparency}) 1px,
|
||||
transparent 1px,
|
||||
transparent ${lineHeight}px
|
||||
);
|
||||
}
|
||||
`;
|
||||
} else if (paperType === 'bullet') {
|
||||
|
@ -123,6 +123,7 @@ class GridBackgroundSettingTab extends PluginSettingTab {
|
|||
plugin: GridBackgroundPlugin;
|
||||
sliderGridSize: SliderComponent;
|
||||
|
||||
|
||||
constructor(app: App, plugin: GridBackgroundPlugin) {
|
||||
super(app, plugin);
|
||||
this.plugin = plugin;
|
||||
|
@ -133,6 +134,8 @@ class GridBackgroundSettingTab extends PluginSettingTab {
|
|||
containerEl.empty();
|
||||
containerEl.createEl('h2', { text: 'Paper Background Settings' });
|
||||
|
||||
let pageColour: ColorComponent;
|
||||
|
||||
// Paper Type Selection
|
||||
new Setting(containerEl)
|
||||
.setName('Paper Type')
|
||||
|
@ -146,7 +149,7 @@ class GridBackgroundSettingTab extends PluginSettingTab {
|
|||
.onChange(async (value) => {
|
||||
this.plugin.settings.paper.paperType = value as 'grid' | 'lined' | 'bullet';
|
||||
await this.plugin.saveSettings();
|
||||
this.display(); // Refresh settings UI
|
||||
this.display();
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -167,14 +170,20 @@ class GridBackgroundSettingTab extends PluginSettingTab {
|
|||
// Universal Colour Setting
|
||||
new Setting(containerEl)
|
||||
.setName('Universal Colour')
|
||||
.setDesc('Set the colour for the paper background (RGBA)')
|
||||
.addText(text => {
|
||||
text
|
||||
.setDesc('Set the colour for the lines/dots/grids)')
|
||||
.addColorPicker(colour => {
|
||||
pageColour = colour;
|
||||
colour
|
||||
.setValue(this.plugin.settings.paper.colour)
|
||||
.onChange(async (value) => {
|
||||
this.plugin.settings.paper.colour = value;
|
||||
let rgbValue: { r: number; g: number; b: number } = colour.getValueRgb();
|
||||
|
||||
const colourValue = `rgba(${rgbValue.r}, ${rgbValue.g}, ${rgbValue.b}, ${this.plugin.settings.paper.transparency})`;
|
||||
console.log(colourValue)
|
||||
this.plugin.settings.paper.colour = colourValue;
|
||||
|
||||
await this.plugin.saveSettings();
|
||||
});
|
||||
})
|
||||
});
|
||||
|
||||
// Specific Settings Based on Paper Type
|
||||
|
|
Loading…
Reference in New Issue