Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ on:
- 'docs/**'
- '**/*.md'
- '.github/workflows/developer-guide-docs.yml'
- '.github/workflows/website-docs.yml'
- 'CodenameOneDesigner/**'
- 'Ports/IOSPort/**'
push:
Expand All @@ -25,6 +26,7 @@ on:
- 'docs/**'
- '**/*.md'
- '.github/workflows/developer-guide-docs.yml'
- '.github/workflows/website-docs.yml'
- 'CodenameOneDesigner/**'
- 'Ports/IOSPort/**'

Expand Down
25 changes: 25 additions & 0 deletions .github/workflows/website-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,20 @@ jobs:
set -euo pipefail
gem install --no-document asciidoctor rouge

- name: Download latest OTA skins
run: |
set -euo pipefail
scripts/website/fetch_ota_skins.sh
env:
GITHUB_TOKEN: ${{ github.token }}

- name: Update developer guide PDF redirect
run: |
set -euo pipefail
scripts/website/update_developer_guide_redirect.sh
env:
GITHUB_TOKEN: ${{ github.token }}

- name: Build website
run: |
set -euo pipefail
Expand All @@ -58,6 +72,17 @@ jobs:
WEBSITE_INCLUDE_JAVADOCS: "true"
WEBSITE_INCLUDE_DEVGUIDE: "true"

- name: Validate OTA skin output
run: |
set -euo pipefail
test -f docs/website/public/OTA/Skins.xml

- name: Validate developer guide redirect output
run: |
set -euo pipefail
test -f docs/website/public/_redirects
grep -Eq '^/files/developer-guide\.pdf https://github\.com/codenameone/CodenameOne/releases/download/.+/developer-guide\.pdf 302$' docs/website/public/_redirects

- name: Upload built site artifact
uses: actions/upload-artifact@v4
with:
Expand Down
4 changes: 2 additions & 2 deletions docs/website/content/architecture-of-the-gui-builder.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The Codename One Designer isn't a standard code generator, the UI is saved withi

1. No fragile generated code to break.
2. Designers who don't know Java can use the tool.
3. The "[Codename One LIVE!](http://www.codenameone.com/codename-one-live.html)" application can show a live preview of your design as you build it.
3. The "[Codename One LIVE!](/codename-one-live)" application can show a live preview of your design as you build it.
4. Images and theme settings can be integrated directly with the GUI without concern.
5. The tool is consistent since the file you save is the file you run.
6. GUI's/themes can be downloaded dynamically without replacing the application (this can reduce download size).
Expand Down Expand Up @@ -46,7 +46,7 @@ Container c = u.createContainer(r, "uiNameInResource");

(Notice that since Form & Dialog both derive from Container you can just downcast to the appropriate type).

This would work for any resource file and can work completely dynamically! E.g. you can download a resource file on the fly and just show the UI that is within the resource file... That is what [Codename One LIVE!](http://www.codenameone.com/codename-one-live.html) is doing internally.
This would work for any resource file and can work completely dynamically! E.g. you can download a resource file on the fly and just show the UI that is within the resource file... That is what [Codename One LIVE!](/codename-one-live) is doing internally.

### IDE Bindings

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -224,9 +224,9 @@ compared to Codename One and has some obvious potential issues.

## Truly native cross-platform app development with Java or Kotlin for iOS, Android & Web.

[ Get Started ](https://codenameone.com/getting-started.html)
[Get Started](/getting-started/)

[ Why Codename one? ](https://codenameone.com/introduction.html)
[Why Codename one? ](/introduction/)
---

## Archived Comments
Expand Down
4 changes: 2 additions & 2 deletions docs/website/content/demo-camera-demo.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ Blog Post: [link](/blog/camera-demo.html)

Source: [link](https://github.com/codenameone/CameraDemo)

JS Port: [link](http://www.codenameone.com/demos/CameraDemo/)
JS Port: [link](/demos/CameraDemo/)

Android App: [link](http://www.codenameone.com/demos/CameraDemo/CameraDemo-release.apk)
Android App: [link](/demos/CameraDemo/CameraDemo-release.apk)

ios: [link](#)
4 changes: 2 additions & 2 deletions docs/website/content/demo-chrome.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ Since Apple doesn’t allow demos on itunes and doesn’t allow installing apps

Source: [link](https://github.com/codenameone/Chrome)

JS Port: [link](http://www.codenameone.com/demos/Chrome/)
JS Port: [link](/demos/Chrome/)

Android App: [link](http://www.codenameone.com/demos/Chrome/Chrome-release.apk)
Android App: [link](/demos/Chrome/Chrome-release.apk)

ios: [link](#)
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,6 @@ Blog Post: [link](/template-clean-modern-ui-kit.html)

Source: [link](https://github.com/codenameone/CleanModernUIKit)

JS Port: [link](http://www.codenameone.com/demos/CleanModern/)
JS Port: [link](/demos/CleanModern/)

Android App: [link](http://www.codenameone.com/demos/CleanModern/CleanModern-release.apk)
Android App: [link](/demos/CleanModern/CleanModern-release.apk)
8 changes: 4 additions & 4 deletions docs/website/content/demo-dr-sbaitso.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,12 @@ Tutorial: [link](https://www.udemy.com/learn-mobile-programming-by-example-with-

Source: [link](https://github.com/codenameone/codenameone-demos/tree/master/DrSbaitso)

JS Port: [link](http://www.codenameone.com/demos/DrSbaitso/)
JS Port: [link](/demos/DrSbaitso/)

Windows Desktop: [link](http://www.codenameone.com/demos/DrSbaitso/DrSbaitso.exe)
Windows Desktop: [link](/demos/DrSbaitso/DrSbaitso.exe)

Mac App: [link](http://www.codenameone.com/demos/DrSbaitso/DrSbaitso.dmg)
Mac App: [link](/demos/DrSbaitso/DrSbaitso.dmg)

Android App: [link](http://www.codenameone.com/demos/DrSbaitso/DrSbaitso-release.apk)
Android App: [link](/demos/DrSbaitso/DrSbaitso-release.apk)

ios: [link](#)
8 changes: 4 additions & 4 deletions docs/website/content/demo-geoviz-demo.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@ Blog Post: [link](https://beta.codenameone.com/blog/geo-viz-and-codename-one.htm

Source: [link](https://github.com/codenameone/codenameone-demos/tree/master/GeoVizDemo)

JS Port: [link](http://www.codenameone.com/demos/GeoVizDemo/)
JS Port: [link](/demos/GeoVizDemo/)

Windows Desktop: [link](http://www.codenameone.com/demos/GeoVizDemo/GeoVizDemo.exe)
Windows Desktop: [link](/demos/GeoVizDemo/GeoVizDemo.exe)

Mac App: [link](http://www.codenameone.com/demos/GeoVizDemo/GeoVizDemo.dmg)
Mac App: [link](/demos/GeoVizDemo/GeoVizDemo.dmg)

Android App: [link](http://www.codenameone.com/demos/GeoVizDemo/GeoVizDemo-release.apk)
Android App: [link](/demos/GeoVizDemo/GeoVizDemo-release.apk)

ios: [link](#)
4 changes: 2 additions & 2 deletions docs/website/content/demo-google-maps-demo.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ Blog Post: [link](https://beta.codenameone.com/blog/new-improved-native-google-m

Source: [link](https://github.com/codenameone/codenameone-google-maps/tree/master/GoogleMapsTest)

JS Port: [link](http://www.codenameone.com/demos/GoogleMaps/)
JS Port: [link](/demos/GoogleMaps/)

Android App: [link](http://www.codenameone.com/demos/GoogleMaps/GoogleMapsTestApp-release.apk)
Android App: [link](/demos/GoogleMaps/GoogleMapsTestApp-release.apk)

ios: [link](#)
6 changes: 3 additions & 3 deletions docs/website/content/demo-kitchen-sink.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@ The demo displays icons/cards with various categories to show off various featur

Source: [link](https://github.com/codenameone/KitchenSink/)

JS Port: [link](http://www.codenameone.com/demos/KitchenSink/)
JS Port: [link](/demos/KitchenSink/)

iOS iTunes: [link](https://apps.apple.com/us/app/kitchen-sink-codename-one/id635048865)

Universal Windows (UWP): [link](https://www.microsoft.com/en-us/p/codename-one-kitchen-sink/9nblggh528c7?activetab=pivot:overviewtab)

Google Play [link](https://play.google.com/store/apps/details?id=com.codename1.demos.kitchen)

Windows Desktop: [link](http://www.codenameone.com/demos/KitchenSink/KitchenSink.exe)
Windows Desktop: [link](/demos/KitchenSink/KitchenSink.exe)

Mac App: [link](http://www.codenameone.com/demos/KitchenSink/KitchenSink.dmg)
Mac App: [link](/demos/KitchenSink/KitchenSink.dmg)
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,6 @@ Blog Post: [link](https://beta.codenameone.com/template-phoenix-ui.html)

Source: [link](https://github.com/codenameone/PhoenixUI)

JS Port: [link](http://www.codenameone.com/demos/Pheonix/)
JS Port: [link](/demos/Pheonix/)

Android App: [link](http://www.codenameone.com/demos/Pheonix/Pheonix-release.apk)
Android App: [link](/demos/Pheonix/Pheonix-release.apk)
4 changes: 1 addition & 3 deletions docs/website/content/demo-poker-demo.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@ The Poker demo was written as part of an article covering game development with
Notice that the JavaScript HTML5 demo is not what we have on the device where applications are translated to native code!
Since Apple doesn’t allow demos on itunes and doesn’t allow installing apps without itunes we can’t distribute the native app demos, you would need to build from source with an itunes demo account.

Tutorial: [link](http://www.codenameone.com/manual/appendix-game.html)

Source: [link](https://github.com/codenameone/codenameone-demos/tree/master/CN1Poker)

JS Port: [link](/demos/Poker/)
Expand All @@ -41,6 +39,6 @@ Windows Desktop: [link](/demos/Poker/Poker.exe)

Mac App: [link](/demos/Poker/Poker.dmg)

Android App: [link](http://www.codenameone.com/demos/Poker/Poker-release.apk)
Android App: [link](/demos/Poker/Poker-release.apk)

ios: [link](#)
8 changes: 4 additions & 4 deletions docs/website/content/demo-propertycross-demo.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,12 @@ Tutorial: [link](https://www.udemy.com/learn-mobile-programming-by-example-with-

Source: [link](https://github.com/codenameone/PropertyCross)

JS Port: [link](http://www.codenameone.com/demos/PropertyCross/)
JS Port: [link](/demos/PropertyCross/)

Windows Desktop: [link](http://www.codenameone.com/demos/PropertyCross/PropertyCross.exe)
Windows Desktop: [link](/demos/PropertyCross/PropertyCross.exe)

Mac App: [link](http://www.codenameone.com/demos/PropertyCross/PropertyCross.dmg)
Mac App: [link](/demos/PropertyCross/PropertyCross.dmg)

Android App: [link](http://www.codenameone.com/demos/PropertyCross/PropertyCross-release.apk)
Android App: [link](/demos/PropertyCross/PropertyCross-release.apk)

ios: [link](#)
4 changes: 2 additions & 2 deletions docs/website/content/demo-ratatouilles-restaurant.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ Blog Post: [link](https://beta.codenameone.com/blog/ratatouilles-restaurant-in-c

Source: [link](https://github.com/codenameone/RestaurantDemo)

JS Port: [link](http://www.codenameone.com/demos/Restaurant/)
JS Port: [link](/demos/Restaurant/)

Android App: [link](http://www.codenameone.com/demos/Restaurant/Restaurant.apk)
Android App: [link](/demos/Restaurant/Restaurant.apk)

ios: [link](#)
4 changes: 2 additions & 2 deletions docs/website/content/demo-solitaire-klondike.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ Since Apple doesn’t allow demos on itunes and doesn’t allow installing apps

Source: [link](https://github.com/codenameone/codenameone-demos/tree/master/Solitaire)

JS Port: [link](http://www.codenameone.com/demos/Solitaire)
JS Port: [link](/demos/Solitaire)

Mac App: [link](http://www.codenameone.com/demos/Solitaire/Solitaire.dmg)
Mac App: [link](/demos/Solitaire/Solitaire.dmg)

Android App: [link](https://play.google.com/store/apps/details?id=com.codename1.apps.solitaire)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Notice that the JavaScript HTML5 demo is not what we have on the device where ap

Source: [link](https://github.com/codenameone/SwiftnotesCN1/)

JS Port: [link](http://www.codenameone.com/demos/SwiftnotesCN1/)
JS Port: [link](/demos/SwiftnotesCN1/)

Universal Windows (UWP): [link](https://www.microsoft.com/library/errorpages/smarterror.aspx?correlationId=+GXvrjf4ckKpWyk9.0.0.3)

Expand Down
10 changes: 5 additions & 5 deletions docs/website/content/developing-in-codename-one.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ hero_image: "/uploads/Group-2270.svg"

![](/uploads/Group-2257.svg)

- [JavaDocs of the API's](https://codenameone.com/javadoc/)
- [JavaDocs of the API's](/javadoc/)

- [ Developers Guide (HTML)](/developer-guide.html)

- [The Codename One Blog](https://codenameone.com/blog.html)
- [The Codename One Blog](/blog/)

- [Developers Guide (PDF)](https://www.codenameone.com/files/developer-guide.pdf)

- [ How Do I?](https://codenameone.com/how-do-i.html)
- [How Do I?](/how-do-i/)

## The Codename One Tutorials & Courses

Expand All @@ -27,7 +27,7 @@ hero_image: "/uploads/Group-2270.svg"
- **[Hello World Tutorial](https://youtu.be/rl6z7DD2-vg)**
Shows off how to create a simple hello world application that works on all devices and looks native to all devices.

- **[How Do I?](https://codenameone.com/how-do-i.html)**
- **[How Do I?](/how-do-i/)**
Short video tutorials that walk you through common Codename One concepts and simple/basic ideas.

- **[Codename One Academy](https://debugagent.com/series/cn1)**
Expand All @@ -36,5 +36,5 @@ hero_image: "/uploads/Group-2270.svg"
- **[Tutorials & Documentation List](/developer-guide.html)**
An exhaustive list of tutorials and references in both written and video form.

- **[Tutorial Tag In the Blog](https://codenameone.com/tag/tutorial)**
- **[Tutorial Tag In the Blog](/blog/)**
The Codename One blog publishes tutorials regularly and you can follow all of them in this tag.
2 changes: 2 additions & 0 deletions docs/website/content/eclipse-plugin-installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ slug: "eclipse-plugin-installation"

# Installing The Eclipse Plugin

**IMPORTANT:** The IDE plugins are no longer supported. This page is here for historical purposes only. See [Getting Started](/getting-started/) for discussion of the maven build process.

1. [Home](/)
2. Developers
3. Installing The Eclipse Plugin
Expand Down
12 changes: 6 additions & 6 deletions docs/website/content/home-test.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ slug: "home-test"

## Trusted by 40k+ developers

[Build an App](https://codenameone.com/getting-started.html)
[Build an App](/getting-started/)

<iframe src="https://ghbtns.com/github-btn.html?user=codenameone&amp;repo=CodenameOne&amp;type=star=true&amp;size=large" frameborder="0" scrolling="0" width="200" height="30" title="GitHub"></iframe>

Expand All @@ -26,7 +26,7 @@ slug: "home-test"

#### Rapid cross-platform app development using **Java** or **Kotlin** with **100% code reuse**. Apps are compiled down to native code for maximum performance and a smooth user experience.

[Learn about the Architecture](https://codenameone.com/introduction.html)
[Learn about the Architecture](/introduction/)

## Developer-friendly Tooling

Expand All @@ -38,7 +38,7 @@ slug: "home-test"

#### Build beautiful UI with Codename One’s rich set of widgets, specifically designed for mobile apps. **Native** look and feel out of the box, but **fully themeable** using **CSS** to provide your own unique look.

[Demo Showcase](https://codenameone.com/demos.html) [Component Gallery](https://www.codenameone.com/javadoc/com/codename1/ui/package-summary.html)
[Demo Showcase](/demos/) [Component Gallery](/javadoc/com/codename1/ui/package-summary.html)

## Why Codename One?

Expand Down Expand Up @@ -66,7 +66,7 @@ When you make changes to your app’s CSS stylesheet, the changes are reflected

The core of Codename One is free and open source. GPL + CE licensed so it is free to use with commercial projects.

[Explore the Features](https://codenameone.com/introduction.html)
[Explore the Features](/introduction/)

## How it works

Expand Down Expand Up @@ -126,11 +126,11 @@ Can I access native APIs in my app?

Yes, you can access both system APIs and 3rd party native frameworks and libraries.

[Learn about the Architecture](https://codenameone.com/introduction.html)
[Learn about the Architecture](/introduction/)

## Made with Codename One

BeRider Shared electric scooters in Prague. Highly rated app with Google Maps integration.[](https://play.google.com/store/apps/details?id=com.berider.app)   [](https://apps.apple.com/us/app/berider-scooter-sharing/id1465804731)   ![Shared electric scooters in Prague. Highly rated app with Google Maps integration.](/uploads/BeRider-Codename-One.png) Jubilee Motor Car insurance app by Jubilee General Insurance.[](https://play.google.com/store/apps/details?id=com.jubilee) [![Car insurance app by Jubilee General Insurance.](/uploads/Jubilee-Motor-Codename-One.png) Ordyx POS Point of Sale (POS) system.](https://play.google.com/store/apps/details?id=com.jubilee)       [](https://www.ordyx.com/)![Point of Sale (POS) system.](/uploads/Ordyx-Codename-One.png) HBZ Mobile banking app of Habib Bank AG Zurich, a Swiss multinational commercial bank based in Zurich, Switzerland.[](https://play.google.com/store/apps/details?id=com.bilogicsys.hmobile.json.main)   [](https://apps.apple.com/ae/app/hbz/id1235586645)   ![Mobile banking app of Habib Bank AG Zurich, a Swiss multinational commercial bank based in Zurich, Switzerland.](/uploads/HBZ-Codename-One.png) Ana Paltel Paltel account manager app by Palestine Telecommunications Company.[](https://play.google.com/store/apps/details?id=com.paltel.mobapp&hl=en&gl=US)   [](https://apps.apple.com/us/app/ana-paltel/id1131291631)   ![Paltel account manager app by Palestine Telecommunications Company.](/uploads/Paltel-Codename-One.png) yHomework Math solver app. Highly rated, 1M+ installs.[](https://play.google.com/store/apps/details?id=com.MathUnderground.MathSolver)   [](https://apps.apple.com/us/app/yhomework-math-solver/id604715759)   ![Math solver app. Highly rated, 1M+ installs.](/uploads/yHomework.png) Oxbridge Academy Private distance learning college based in South Africa.[](https://play.google.com/store/apps/details?id=ox.app)   [](https://apps.apple.com/za/app/oxbridge-academy-mobile-app/id964490340)   ![Private distance learning college based in South Africa.](/uploads/Oxbridge-Academy-Codename-One.png) Arrivu Voice/AI technology solutions.[](https://www.arrivu.com/) ![Voice/AI technology solutions.](/uploads/arrivu.png) Previous Next [Demo Showcase](https://codenameone.com/demos.html)
BeRider Shared electric scooters in Prague. Highly rated app with Google Maps integration.[](https://play.google.com/store/apps/details?id=com.berider.app)   [](https://apps.apple.com/us/app/berider-scooter-sharing/id1465804731)   ![Shared electric scooters in Prague. Highly rated app with Google Maps integration.](/uploads/BeRider-Codename-One.png) Jubilee Motor Car insurance app by Jubilee General Insurance.[](https://play.google.com/store/apps/details?id=com.jubilee) [![Car insurance app by Jubilee General Insurance.](/uploads/Jubilee-Motor-Codename-One.png) Ordyx POS Point of Sale (POS) system.](https://play.google.com/store/apps/details?id=com.jubilee)       [](https://www.ordyx.com/)![Point of Sale (POS) system.](/uploads/Ordyx-Codename-One.png) HBZ Mobile banking app of Habib Bank AG Zurich, a Swiss multinational commercial bank based in Zurich, Switzerland.[](https://play.google.com/store/apps/details?id=com.bilogicsys.hmobile.json.main)   [](https://apps.apple.com/ae/app/hbz/id1235586645)   ![Mobile banking app of Habib Bank AG Zurich, a Swiss multinational commercial bank based in Zurich, Switzerland.](/uploads/HBZ-Codename-One.png) Ana Paltel Paltel account manager app by Palestine Telecommunications Company.[](https://play.google.com/store/apps/details?id=com.paltel.mobapp&hl=en&gl=US)   [](https://apps.apple.com/us/app/ana-paltel/id1131291631)   ![Paltel account manager app by Palestine Telecommunications Company.](/uploads/Paltel-Codename-One.png) yHomework Math solver app. Highly rated, 1M+ installs.[](https://play.google.com/store/apps/details?id=com.MathUnderground.MathSolver)   [](https://apps.apple.com/us/app/yhomework-math-solver/id604715759)   ![Math solver app. Highly rated, 1M+ installs.](/uploads/yHomework.png) Oxbridge Academy Private distance learning college based in South Africa.[](https://play.google.com/store/apps/details?id=ox.app)   [](https://apps.apple.com/za/app/oxbridge-academy-mobile-app/id964490340)   ![Private distance learning college based in South Africa.](/uploads/Oxbridge-Academy-Codename-One.png) Arrivu Voice/AI technology solutions.[](https://www.arrivu.com/) ![Voice/AI technology solutions.](/uploads/arrivu.png) Previous Next [Demo Showcase](/demos/)

## Loved by Developers, Trusted by Enterprises

Expand Down
Loading