Skip to content

Commit 1f92dea

Browse files
committed
Add support for new and noteworthy authored as markdown
- Convert all the existing pages for 4.36 to *.md. - The *.html pages will be deleted as a subsequent step. - Specialize the breadcrumbs for these pages.
1 parent 8176774 commit 1f92dea

File tree

6 files changed

+267
-8
lines changed

6 files changed

+267
-8
lines changed

markdown/index.html

Lines changed: 34 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,14 @@ <h2>Table of Contents</h2>
153153
const targetElement = document.getElementById('markdown-target');
154154

155155
function niceName(name) {
156-
return name.replaceAll(/[_-]/g, ' ').replaceAll(/([a-z])([A-Z])/g, '$1 $2').replace(/^([a-z])/, letter => letter.toLocaleUpperCase())
156+
const result = name.replaceAll(/[_-]/g, ' ').replaceAll(/([a-z])([A-Z])/g, '$1 $2').replace(/^([a-z])/, letter => letter.toLocaleUpperCase())
157+
if (result == 'Platform isv') {
158+
return 'Platform ISV';
159+
}
160+
if (result == 'Api' || result == 'Pde' || result == 'Jdt') {
161+
return result.toLocaleUpperCase();
162+
}
163+
return result;
157164
}
158165

159166
function fixHash(hash) {
@@ -281,6 +288,24 @@ <h2>Table of Contents</h2>
281288
}
282289
}
283290

291+
function generateNewsBreadcrumb(normalizedPath) {
292+
if (selfHosted) {
293+
const parts = /news\/(?<version>[^/]+)\/(?<filename>[^/]+).md/.exec(normalizedPath);
294+
if (parts != null) {
295+
const breadcrumb = document.querySelector(".breadcrumb");
296+
const version = parts.groups.version;
297+
const filename = parts.groups.filename;
298+
const lastPart = filename == 'index' ? '' : `<li>${niceName(filename)}</li>`;
299+
breadcrumb.append(...toElements(`
300+
<li><a href="${scriptBase}news/index.html">News</a></li>
301+
<li><a href="${scriptBase}markdown/index.html?file=eclipse-platform/www.eclipse.org-eclipse/master/news/${version}/index.md">${version}</a></li>
302+
${lastPart}
303+
`));
304+
return true;
305+
}
306+
}
307+
return false;
308+
}
284309

285310
if (parts == null || parts.length == 0) {
286311
targetElement.innerHTML = 'No well-formed query parameter of the form <code>?file=org/repo/branch/path</code> has been specified.';
@@ -290,16 +315,17 @@ <h2>Table of Contents</h2>
290315
} else {
291316
document.title = `${repoName} Documentation | Eclipse Project`;
292317

293-
const breadcrumb = document.querySelector(".breadcrumb");
294318
const normalizedPath = path.replace(/\/$/, '');
295-
const segments = normalizedPath == '' ? [''] : ['', ...normalizedPath.split('/')];
296-
let crumbPath = '';
297-
for (const segment of segments) {
298-
crumbPath = (crumbPath == '/' ? '/' : crumbPath + '/') + segment;
299-
breadcrumb.append(...toElements(`<li><a href="?file=${org}/${repo}/${branch}${crumbPath}">${segment.length == 0 ? repoName : niceName(segment.replace(/\.md$/, ''))}</a></li>`));
319+
if (!generateNewsBreadcrumb(normalizedPath)) {
320+
const breadcrumb = document.querySelector(".breadcrumb");
321+
const segments = normalizedPath == '' ? [''] : ['', ...normalizedPath.split('/')];
322+
let crumbPath = '';
323+
for (const segment of segments) {
324+
crumbPath = (crumbPath == '/' ? '/' : crumbPath + '/') + segment;
325+
breadcrumb.append(...toElements(`<li><a href="?file=${org}/${repo}/${branch}${crumbPath}">${segment.length == 0 ? repoName : niceName(segment.replace(/\.md$/, ''))}</a></li>`));
326+
}
300327
}
301328

302-
303329
const logicalBaseURL = new URL(`https://api.github.com/repos/${org}/${repo}/contents/${path}`);
304330
const apiURL = `${logicalBaseURL}?ref=${branch}`;
305331
const defaultURL = selfHosted ? `${scriptBase}${path}` : apiURL;

news/4.36/index.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Eclipse 4.36 - New and Noteworthy
2+
3+
Welcome to the Eclipse SDK project!
4+
The Eclipse SDK project is part of the Eclipse 2025-06 simultaneous release.
5+
The Eclipse SDK and related resources can be downloaded from the [Eclipse Project downloads](https://download.eclipse.org/eclipse/downloads/) page.
6+
The Eclipse installer and other packages can be downloaded from the [IDE Downloads](https://www.eclipse.org/downloads/packages) page.
7+
8+
Here are some of the more noteworthy items available in this release.
9+
10+
- [New features in the Platform and Equinox](platform.md)
11+
- [New features for Java developers](jdt.md)
12+
- [New APIs in the Platform and Equinox](platform_isv.md)
13+
- [New features for plug-in developers](pde.md)

news/4.36/jdt.md

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
# Java Development Tools - 4.36
2+
3+
<!--
4+
---
5+
## Java&trade; XX Support
6+
-->
7+
8+
<!--
9+
---
10+
## JUnit
11+
-->
12+
13+
---
14+
## Java Editor
15+
16+
### Custom Folding Regions
17+
18+
It is now possible to create custom folding regions by specifying a comment at the start and end of the region.
19+
You can enable and configure this feature under `Window > Preferences > Java > Editor > Folding > Custom folding regions`.
20+
21+
![Preference page for custom folding regions](images/custom_folding_regions_preferences.png)
22+
23+
on that preference page, you can specify the text that should be used to start and end a custom folding region.
24+
When this is enabled,
25+
writing a comment starting with the specified region start followed by another comment starting with the specified region end creates a folding region.
26+
27+
![code containing comments with the text 'region' and 'endregion'](images/custom_folding_regions_code_expanded.png)
28+
29+
Custom folding regions can be collapsed like any other folding regions.
30+
31+
![custom folding regions are collapsed](images/custom_folding_regions_code_collapsed.png)
32+
33+
### Project Properties Page for Folding
34+
35+
Preferences for folding can now be configured on a per-project basis in addition to configuring folding for the workspace.
36+
This page is available under `Project > Properties > Java Editor > Folding`.
37+
38+
![Project Properties page for folding](images/folding_property_page.png)
39+
40+
### New folding mechanism as Default
41+
42+
In the previous release, a preference to enable different kinds of folding was introduced,
43+
see the news for [4.35](../4.35/jdt.html#new-folding).
44+
The feature has been further improved since then and is now **enabled by default**.
45+
46+
This feature enhances the code folding mechanism in Eclipse JDT by enabling folding for control statements
47+
such as **if**, **while**, **switch**, and **for**.
48+
It improves code readability and navigation by allowing developers to collapse and expand structured blocks.
49+
50+
![View of the new folding](images/new-folding.png)
51+
52+
The feature can be disabled in the settings under `Java > Editor > Folding`.
53+
54+
55+
![Settings view of the folding](images/settings-folding.png)
56+
57+
<!--
58+
---
59+
## Java Views and Dialogs
60+
-->
61+
62+
<!--
63+
---
64+
## Java Compiler
65+
-->
66+
67+
<!--
68+
---
69+
## Java Formatter
70+
-->
71+
72+
---
73+
## Debug
74+
75+
### Collapsing Stack Frames
76+
77+
Navigating in deep stack frames can be challenging during debuging, due to the high number of stack frames that are not relevant most of the time,
78+
for example because they are provided by either the JDK, by a testing framework, or by a library.
79+
This feature tries to help focus on the stack frames that are coming from the user-created projects,
80+
drastically reducing the unnecessary noise in the Debug View.
81+
82+
![Original](images/not-collapsed.png)
83+
84+
The feature can be enabled from the Debug toolbar in `Debug > Java > Collapse Stack Frames`.
85+
86+
![Menu to enable](images/menuitem.png)
87+
88+
After enabling it, the view becomes much simpler and less intimidating:
89+
90+
![Collapsed stack frames](images/collapsed.png)
91+
92+
### Navigate to Variable Declaration
93+
94+
Users can now navigate to a variable’s declaration directly from the Variables view during a debug session,
95+
making it easier to locate a variable, especially in methods with numerous local variables.
96+
97+
Choose `Navigate to Declaration` from context menu of a variable.
98+
99+
![Navigation_menu](images/NavigateToDeclareMenu.png)
100+
101+
The editor will jump and highlight its declaration.
102+
103+
![Navigation_done](images/Navigation.png)
104+
105+
### Auto-Resuming Trigger Points
106+
107+
Trigger points can now be configured to automatically resume execution when hit,
108+
allowing breakpoints after the trigger point to be activated while skipping those before it,
109+
thereby enabling a more focused and efficient debugging workflow.
110+
111+
Upon enabling a trigger point, a new option will be shown to `Continue execution on hit` or not.
112+
113+
![Triggerpoint Enabled](images/TriggerEnabled.png)
114+
115+
Once `Continue execution on hit` is toggled, the breakpoint label will update to `[Resume on hit]` meaning it won't suspend on hit.
116+
117+
![Triggerpoint Continue](images/TriggerContinue.png)
118+
119+
Resume trigger also supports conditions, meaning if condition is true it will resume the execution otherwise it will suspend.
120+
121+
![Resume-Triggerpoint with conditions](images/ResumeWithCondition.png)
122+
123+
Now when you run in debug mode, the trigger point won't hit, allowing you to skip previous breakpoints, and stop on the actual breakpoint on which you need to focus.
124+
125+
For example, here `Resume trigger` was set on line number 7 and during debugging it hit on line number 8 by skipping all the previous breakpoints.
126+
127+
![Resume-Triggerpoint execution](images/TriggerExecution.png)
128+
129+
<!--
130+
### JDT Developers
131+
-->
132+

news/4.36/pde.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Plug-in Development Environment - 4.36
2+
3+
<!--
4+
## Editors
5+
-->
6+
7+
<!--
8+
## API Tools
9+
-->
10+
11+
<!--
12+
---
13+
## PDE Compiler
14+
-->

news/4.36/platform.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
2+
# Platform and Equinox - 4.36
3+
4+
<!--
5+
---
6+
## Views, Dialogs and Toolbar
7+
-->
8+
9+
<!--
10+
---
11+
## Text Editors
12+
-->
13+
14+
<!--
15+
---
16+
## Preferences
17+
-->
18+
19+
<!--
20+
---
21+
## Themes and Styling
22+
-->
23+
24+
<!--
25+
---
26+
## Views, Dialogs and Toolbar
27+
-->
28+
29+
---
30+
## General Updates
31+
32+
### Monitor-Specific UI Scaling as Default (Windows only)
33+
34+
In the previous releases, a preference to enable an improved, monitor- and resolution-specific UI scaling on Windows was introduced,
35+
see the news for [4.34](../4.34/platform.html#rescale-on-runtime-preference)
36+
and [4.35](../4.35/platform.html#rescaleOnRuntimePreference) for details.
37+
The feature has been further improved since then and is now **enabled by default**.
38+
39+
The feature makes each window adapt its scaling to the monitor it is currently placed on in a sharp, resolution-specific way
40+
and without requiring the application to restart.
41+
When using multiple windows, each of them will adapt its scaling to the monitor it is placed on.
42+
When enabled, this new feature replaces the current, limited scaling support for high-resolution monitors,
43+
which initializes the application's window according to the scaling of the primary monitor at application startup
44+
and produces blurry scaling when moving the window to another monitor unless the application is restarted.
45+
46+
To disable this feature, uncheck the _Monitor-specific UI scaling_ box on the **Appearance** preference page
47+
(`Window > Preferences > General > Appearance`),
48+
as shown in the image below.
49+
The feature is still under further development. We encourage users to **share their feedback** to help us improve the functionality.
50+
51+
![Monitor-Specific UI Rescaling Preference](images/rescaling_settings-preference.png)
52+
53+
The images below demonstrate the scaling behavior in an extract of an Eclipse application when moving the window
54+
from a primary monitor with 100% scaling to another monitor with 200% scaling, first having the feature disabled
55+
and second having it enabled.
56+
57+
On a 200% monitor with the feature being **disabled**:
58+
59+
![Monitor-Specific UI Rescaling Disabled](images/rescaling-disabled.png)
60+
61+
On a 200% monitor with the feature being **enabled**:
62+
63+
![Monitor-Specific UI Rescaling Enabled](images/rescaling-enabled.png)

news/4.36/platform_isv.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Platform and Equinox API - 4.36
2+
3+
<!--
4+
---
5+
## Platform Changes
6+
-->
7+
8+
<!--
9+
---
10+
## SWT Changes
11+
-->

0 commit comments

Comments
 (0)