You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-06-15 23:00:36 +02:00
Desktop: Allow for custom Joplin theme and Ace editor styles (#2099)
* Delete unused file * Implement CssUtils * Inject custom CSS styles * Add info about custom CSS styles to README * Add note that ElectronClient/app/app.js is generated * Add support for Setting.TYPE_BUTTON * Add buttons in Preferences to open custom CSS files * Swap custom CSS filenames * Swap custom CSS filenames * Wrap "Edit" with translation fn * Incorporate PR feedback from @laurent22 * Add openOrCreateFile to Settings * Move openOrCreateFile to shim * Removing header for now - see https://github.com/laurent22/joplin/pull/2099#discussion_r353120915
This commit is contained in:
committed by
Laurent Cozic
parent
4f3e031f4f
commit
611be7c0fa
27
ReactNativeClient/lib/CssUtils.js
Normal file
27
ReactNativeClient/lib/CssUtils.js
Normal file
@ -0,0 +1,27 @@
|
||||
const fs = require('fs-extra');
|
||||
|
||||
const loadCustomCss = async filePath => {
|
||||
let cssString = '';
|
||||
if (await fs.pathExists(filePath)) {
|
||||
try {
|
||||
cssString = await fs.readFile(filePath, 'utf-8');
|
||||
} catch (error) {
|
||||
let msg = error.message ? error.message : '';
|
||||
msg = `Could not load custom css from ${filePath}\n${msg}`;
|
||||
error.message = msg;
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
return cssString;
|
||||
};
|
||||
|
||||
const injectCustomStyles = async cssFilePath => {
|
||||
const css = await loadCustomCss(cssFilePath);
|
||||
const styleTag = document.createElement('style');
|
||||
styleTag.type = 'text/css';
|
||||
styleTag.appendChild(document.createTextNode(css));
|
||||
document.head.appendChild(styleTag);
|
||||
};
|
||||
|
||||
module.exports = {loadCustomCss, injectCustomStyles};
|
Reference in New Issue
Block a user