Skip to content

Commit bd27cea

Browse files
committed
review updates
- update md mime type text to official one `text/markdown` - font config is associated to `text/x-markdown-nb-preview` - decrease body padding - include font family and font size customization
1 parent da16438 commit bd27cea

7 files changed

Lines changed: 57 additions & 58 deletions

File tree

ide/markdown/src/org/netbeans/modules/markdown/MarkdownDataObject.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@
105105
@GrammarRegistration(mimeType=MarkdownDataObject.MIME_TYPE, grammar="markdown.tmLanguage.json")
106106
public class MarkdownDataObject extends MultiDataObject {
107107

108-
public static final String MIME_TYPE = "text/x-markdown";
108+
public static final String MIME_TYPE = "text/markdown";
109109

110110
public MarkdownDataObject(FileObject pf, MultiFileLoader loader) throws DataObjectExistsException, IOException {
111111
super(pf, loader);
@@ -120,7 +120,7 @@ protected int associateLookup() {
120120
@MultiViewElement.Registration(
121121
displayName = "#LBL_Markdown_EDITOR",
122122
iconBase = "org/netbeans/modules/markdown/markdown.png",
123-
mimeType = "text/x-markdown",
123+
mimeType = "text/markdown",
124124
persistenceType = TopComponent.PERSISTENCE_ONLY_OPENED,
125125
preferredID = "Markdown",
126126
position = 1000

ide/markdown/src/org/netbeans/modules/markdown/MarkdownViewerElement.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@
7474
*
7575
* @author lkishalmi
7676
*/
77+
7778
@MultiViewElement.Registration(
7879
displayName = "#LBL_MarkdownViewer",
7980
iconBase = "org/netbeans/modules/markdown/markdown.png",
@@ -85,6 +86,7 @@
8586
@Messages("LBL_MarkdownViewer=Preview")
8687
public class MarkdownViewerElement implements MultiViewElement {
8788

89+
public static final String MIME_TYPE_PREVIEW = "text/x-markdown-nb-preview";
8890
private static final Logger LOG = Logger.getLogger(MarkdownViewerElement.class.getName());
8991
private static final RequestProcessor RP = new RequestProcessor(MarkdownViewerElement.class);
9092
private static final int UPDATE_DELAY = 500;
@@ -105,12 +107,12 @@ public class MarkdownViewerElement implements MultiViewElement {
105107
))
106108
.set(HtmlRenderer.INDENT_SIZE, 2)
107109
.set(HtmlRenderer.RENDER_HEADER_ID, true)
108-
.set(HtmlRenderer.FENCED_CODE_LANGUAGE_CLASS_PREFIX, "")
110+
.set(HtmlRenderer.FENCED_CODE_LANGUAGE_CLASS_PREFIX, "") //NOI18N
109111
// JEditorPane search for the name attribute
110112
.set(AnchorLinkExtension.ANCHORLINKS_SET_NAME, true)
111113
.set(AnchorLinkExtension.ANCHORLINKS_SET_ID, false)
112-
.set(AnchorLinkExtension.ANCHORLINKS_ANCHOR_CLASS, "")
113-
.set(AnchorLinkExtension.ANCHORLINKS_TEXT_PREFIX, "")
114+
.set(AnchorLinkExtension.ANCHORLINKS_ANCHOR_CLASS, "") //NOI18N
115+
.set(AnchorLinkExtension.ANCHORLINKS_TEXT_PREFIX, "") //NOI18N
114116
// Make the table generation SWING Friendly
115117
.set(TablesExtension.COLUMN_SPANS, false)
116118
.set(TablesExtension.MIN_HEADER_ROWS, 1)

ide/markdown/src/org/netbeans/modules/markdown/resources/Bundle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
# specific language governing permissions and limitations
1616
# under the License.
1717

18-
Editors/text/x-markdown=Markdown
18+
Editors/text/markdown=Markdown
1919

20-
Editors/text/x-markdown-preview=Markdown Preview
20+
Editors/text/x-markdown-nb-preview=Markdown Preview
2121

2222
body = Body
2323
heading1 = H1

ide/markdown/src/org/netbeans/modules/markdown/resources/Coloring.md

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -18,45 +18,3 @@ This is a **generic Markdown template** showcasing essential formatting features
1818
#### H4
1919
##### H5
2020
###### H6 (Smallest)
21-
22-
---
23-
24-
## 2. Text Formatting
25-
- **Bold** (`**text**` or `__text__`)
26-
- *Italic* (`*text*` or `_text_`)
27-
- ~~Strikethrough~~ (`~~text~~`)
28-
- `Inline Code` (`` `code` ``)
29-
- > Blockquote (prefix with `>`)
30-
31-
---
32-
33-
## 3. Lists
34-
### Unordered List
35-
- Item 1
36-
- Item 2
37-
- Nested Item (indent with 2 spaces)
38-
39-
### Ordered List
40-
1. First item
41-
2. Second item
42-
1. Nested item (indent with 3 spaces)
43-
44-
### Task List
45-
- [x] Completed task
46-
- [ ] Pending task (`[ ]`)
47-
48-
---
49-
50-
## 4. Links
51-
- [Hyperlink](https://example.com) (`[text](url)`)
52-
53-
---
54-
55-
## 5. Code Blocks
56-
```java
57-
# Syntax-highlighted block (java)
58-
class HelloWorld {
59-
public static main(String... args) {
60-
System.out.println("Hello markdown");
61-
}
62-
}

ide/markdown/src/org/netbeans/modules/markdown/resources/layer.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
<filesystem>
2424
<folder name="Editors">
2525
<folder name="text">
26-
<folder name="x-markdown">
27-
<attr name="displayName" bundlevalue="org.netbeans.modules.markdown.resources.Bundle#Editors/text/x-markdown-preview"/>
26+
<folder name="x-markdown-nb-preview">
27+
<attr name="displayName" bundlevalue="org.netbeans.modules.markdown.resources.Bundle#Editors/text/x-markdown-nb-preview"/>
2828
<folder name="FontsColors">
2929
<folder name="NetBeans">
3030
<folder name="Defaults">
@@ -67,15 +67,15 @@
6767
</folder>
6868
<folder name="Loaders">
6969
<folder name="text">
70-
<folder name="x-markdown">
70+
<folder name="x-markdown-nb-preview">
7171
<attr name="iconBase" stringvalue="org/netbeans/modules/markdown/markdown.png"/>
7272
</folder>
7373
</folder>
7474
</folder>
7575
<folder name="OptionsDialog">
7676
<folder name="PreviewExamples">
7777
<folder name="text">
78-
<file name="x-markdown" url="Coloring.md"/>
78+
<file name="x-markdown-nb-preview" url="Coloring.md"/>
7979
</folder>
8080
</folder>
8181
</folder>

ide/markdown/src/org/netbeans/modules/markdown/utils/Bundle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# specific language governing permissions and limitations
1616
# under the License.
1717

18-
CSS_DEFAULT=body {padding:40px;}\
18+
CSS_DEFAULT=body {padding:10px 25px;}\
1919
h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {font-size:inherit;}\
2020
ul, li ul {margin-left: 20px;}\
2121
li {margin-bottom: 3px;padding-left:5px;}\

ide/markdown/src/org/netbeans/modules/markdown/utils/StyleUtils.java

Lines changed: 43 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020

2121
import java.awt.Color;
2222
import java.util.Enumeration;
23-
import java.util.HashMap;
2423
import java.util.Iterator;
2524
import java.util.Map;
2625
import javax.swing.text.AttributeSet;
@@ -31,7 +30,7 @@
3130
import org.netbeans.modules.editor.settings.storage.api.EditorSettings;
3231
import org.netbeans.api.editor.settings.FontColorSettings;
3332
import org.netbeans.modules.editor.settings.storage.api.FontColorSettingsFactory;
34-
import org.netbeans.modules.markdown.MarkdownDataObject;
33+
import static org.netbeans.modules.markdown.MarkdownViewerElement.MIME_TYPE_PREVIEW;
3534
import org.openide.util.NbBundle;
3635

3736
/**
@@ -76,6 +75,8 @@ public static void addRule(StyleSheet ss, AttributeSet attributeSet, AttributeSe
7675
cssRule.append(" {"); // NOI18N
7776
cssRule.append(rgbStyling("color", getThemeColor(attributeSet, defaultAttributes, StyleConstants.ColorConstants.Foreground))); // NOI18N
7877
cssRule.append(rgbStyling("background-color", getThemeColor(attributeSet, defaultAttributes, StyleConstants.ColorConstants.Background))); // NOI18N
78+
cssRule.append(fontSizeStyling(getFontSize(attributeSet)));
79+
cssRule.append(fontStyling("font-family", getFontStyleConfig(attributeSet, StyleConstants.ColorConstants.FontFamily)));
7980
cssRule.append("}"); // NOI18N
8081
ss.addRule(cssRule.toString());
8182
}
@@ -87,6 +88,15 @@ public static Color getThemeColor(AttributeSet attributeSet, AttributeSet defaul
8788
}
8889
return color;
8990
}
91+
92+
public static int getFontSize(AttributeSet attributeSet) {
93+
Object fontSizeConfig = attributeSet.getAttribute(StyleConstants.ColorConstants.FontSize);
94+
if (fontSizeConfig == null) {
95+
return 0;
96+
}
97+
int fontSize = (int) fontSizeConfig;
98+
return fontSize;
99+
}
90100

91101
public static String rgbStyling(String property, Color color) {
92102
if (color == null) {
@@ -105,19 +115,48 @@ public static String rgbStyling(String property, Color color) {
105115
return cssRule.toString();
106116
}
107117

118+
public static String fontSizeStyling(int size) {
119+
if (size == 0 ) {
120+
return "";
121+
}
122+
123+
StringBuilder cssRule = new StringBuilder();
124+
cssRule.append("font-size:"); // NOI18N
125+
cssRule.append(Integer.toString(size));
126+
cssRule.append(";"); // NOI18N
127+
return cssRule.toString();
128+
}
129+
130+
public static String fontStyling(String property, String value) {
131+
if (value == null) {
132+
return ""; // NOI18N
133+
}
134+
135+
StringBuilder cssRule = new StringBuilder();
136+
cssRule.append(property);
137+
cssRule.append(":"); // NOI18N
138+
cssRule.append(value);
139+
cssRule.append(";"); // NOI18N
140+
return cssRule.toString();
141+
}
142+
143+
public static String getFontStyleConfig(AttributeSet attributeSet, Object option) {
144+
return (String) attributeSet.getAttribute(option);
145+
}
146+
108147
private static void appendDefaultMarkdownCssRules(StyleSheet ss) {
109148
String defaultRules = NbBundle.getMessage(StyleUtils.class, "CSS_DEFAULT"); // NOI18N
110149
ss.addRule(defaultRules);
111150
}
112151

113152
private static Iterator<AttributeSet> loadCustomizedMarkdownFontAttributes() {
114153
String profile = EditorSettings.getDefault().getCurrentFontColorProfile();
115-
FontColorSettingsFactory fcsf = EditorSettings.getDefault().getFontColorSettings(new String[]{MarkdownDataObject.MIME_TYPE});
154+
FontColorSettingsFactory fcsf = EditorSettings.getDefault().getFontColorSettings(new String[]{MIME_TYPE_PREVIEW});
116155
return fcsf.getAllFontColors(profile).iterator();
117156
}
118157

119158
private static AttributeSet loadDefaultNbMarkdownFontAttributes() {
120-
FontColorSettings fcs = (MimeLookup.getLookup(MimePath.get(MarkdownDataObject.MIME_TYPE)).lookup(FontColorSettings.class));
159+
FontColorSettings fcs = (MimeLookup.getLookup(MimePath.get(MIME_TYPE_PREVIEW)).lookup(FontColorSettings.class));
121160
return fcs.getFontColors("default"); // NOI18N
122161
}
123162

0 commit comments

Comments
 (0)