How do I create a custom style sheet?
If you want to create a custom style sheet, I suggest doing the following:
-
First, find one that's close to what you want, or at least makes a good starting point.
-
Modify the style sheet in small steps, and test it in between changes. This way, if something breaks it will be easier to locate the source of the problem.
Here's an example style sheet, that has a lot of comments explaining what's going on.
// Elegant style for MultiMarkdown Composer
// by Fletcher T. Penney
//
// Colors can be:
// #RGB (with or without the '#')
// #RRGGBB
// #ARGB (the A is for alpha)
// #AARRGGBB
//
// List of elements that can have formatting applied:
// default
// blockquote
// bold
// boldAndItalic
// codeBlock
// codeSpan
// comment
// heading
// heading1 - heading6
// italic
// link - Markdown links, e.g. [foo](bar)
// list
// math
// metadata
// table
// URL - the actual clickable URL (if enabled)
{
autoZoomHorizontalPadding = 50; // Left and Right padding to use when Auto Zoom is on
backgroundColor = eee; // Color to be used for the background
caretColor = 000; // Color to be used for the cursor
selectionColor = 3000; // Color to be used when selecting text
focusMode = 1; // Should Focus Mode be turned on when this theme is enabled?
typewriterMode = 1; // Should Typewriter Mode be turned on when this theme is enabled?
foregroundColor = 000; // Color to be used for the text
markupForegroundColor = 8000; // Color to be used for markup text foreground
// Can also set a background color
// CSS is applied to the preview pane to allow you to match colors, or apply any other desired formatting
css = "body {background:#eee;color:#000;font-family: Didot; font-size:14px; line-height:170%; text-align: justify;}";
horizontalPadding = 20; // Left and Right padding to use when Auto Zoom is off
justifyText = 1; // Should justification be turned on?
lineLength = 75; // Maximum line length (in characters)
lineHeight = 1.7; // Line spacing ( 1.7 = 170% )
monoFontSize = 12; // Font size to be used for monospaced text
monoFontName = Courier; // Font to be used for monospaced text (use quotes for multiword names, e.g. "Courier New")
default = { // Default is applied to all text, unless superseded by a more specific setting
fontName = Didot; // Font to be used for this feature (e.g. default)
fontSize = 13.5; // Font size to be applied
kerning = 0.3; // Kerning to be applied (look up kerning on internet if you're not sure what this is)
};
metadata = { // Formatting to be applied to the metadata at the top of the document
foregroundColor = 7000;
kerning = 0.2;
};
heading = { // General heading formatting
foregroundColor = 555;
backgroundColor = 10000000;
bold = 1; // Turn on bold if the font supports it
};
heading1 = { // Level 1 headings only
fontSize = 17;
fontName = Didot;
foregroundColor = 555;
backgroundColor = 10000000;
// markupForegroundColor = 0C0;// custom colors for the markup if desired
// markupBackgroundColor = C00;
bold = 1;
};
heading2 = {
fontSize = 15;
fontName = Didot;
foregroundColor = 555;
backgroundColor = 10000000;
bold = 1;
};
codeSpan = { // Spans of code, e.g. `this is code`
mono = 1; // Use the mono font specified earlier
};
codeBlock = { // Verbatim or Code blocks
backgroundColor = 08000000;
mono = 1;
};
URL = { // Formatting that is applied to "clickable" links
foregroundColor = 555;
underline = 1; // 1 = single underline
// 0 = no underline
// 2 = thick underline
// 4 = very thick underline
// 9 = double underline
};
bold = { // We want bold text to be displayed in bold
bold = 1;
};
italic = { // We want italicized text to be displayed in italics
italic = 1;
};
boldAndItalic = { // Any guess what we want here?
bold = 1;
italic = 1;
};
comment = { // HTML comments (e.g. <!-- This is a comment --> )
foregroundColor = 8000;
};
list = {
leftIndent = 30; // Left margin indenting (per list level)
rightIndent = 30; // Right margin indenting (total)
}; // Default for all is 30
blockquote = {
leftIndent = 30; // Left margin indenting (per blockquote level)
rightIndent = 30; // Right margin indenting (total)
};
}