From dc062a7c7fccb430623d33a0aa529d6ba88ba343 Mon Sep 17 00:00:00 2001 From: hawkchen Date: Wed, 2 Oct 2024 11:55:31 +0800 Subject: [PATCH] zk studio: fix pathes and missing images --- ...d_Upgrade_Latest_ZK_Binary_Distribution.md | 2 +- .../Create_a_New_ZK_Maven_Project.md | 27 ++++++--------- .../Create_a_New_ZK_Project.md | 28 +++++++-------- zk_studio_essentials/Global_Preferences.md | 6 ++-- zk_studio_essentials/Installation.md | 14 ++++---- zk_studio_essentials/Introduction.md | 2 +- zk_studio_essentials/New_ZK_Project.md | 8 ++--- zk_studio_essentials/Outline_View_of_ZUL.md | 2 +- zk_studio_essentials/Project_Properties.md | 2 +- .../Property_View_of_a_Component.md | 2 +- zk_studio_essentials/Welcome_Page.md | 2 +- ...Work_with_Existing_Dynamic_Web_Projects.md | 2 +- zk_studio_essentials/ZK_Perspective.md | 2 +- zk_studio_essentials/ZKs.md | 12 +++---- zk_studio_essentials/ZUL_Editor.md | 32 +++++++++--------- zk_studio_essentials/ZUL_Palette.md | 2 +- .../images/Zk_studio_094_source_attach.png | Bin 0 -> 47096 bytes zk_studio_essentials/zk_xml_Editor.md | 2 +- 18 files changed, 70 insertions(+), 77 deletions(-) create mode 100644 zk_studio_essentials/images/Zk_studio_094_source_attach.png diff --git a/zk_studio_essentials/Check_and_Upgrade_Latest_ZK_Binary_Distribution.md b/zk_studio_essentials/Check_and_Upgrade_Latest_ZK_Binary_Distribution.md index 60f903a..6998015 100644 --- a/zk_studio_essentials/Check_and_Upgrade_Latest_ZK_Binary_Distribution.md +++ b/zk_studio_essentials/Check_and_Upgrade_Latest_ZK_Binary_Distribution.md @@ -6,7 +6,7 @@ and **ZK Storage View**. If the bundled version is not the very latest one or not the one you wish to work with, please follow the next section to manually download and link to the latest version. -![](images/images/studio-project-zks.png) +![](images/studio-project-zks.png) # Manually Download and Configure diff --git a/zk_studio_essentials/Create_a_New_ZK_Maven_Project.md b/zk_studio_essentials/Create_a_New_ZK_Maven_Project.md index 890ee7d..e0926f3 100644 --- a/zk_studio_essentials/Create_a_New_ZK_Maven_Project.md +++ b/zk_studio_essentials/Create_a_New_ZK_Maven_Project.md @@ -8,7 +8,7 @@ install the plugin first. Click **\[Help\]/\[Eclipse Marketplace...\]** and enter "maven" in "Find" textbox to find **Maven Integration for Eclipse**. Then click "Install" button. -![](images/images/studio-maven-plugin.png) +![](images/studio-maven-plugin.png) After completing the installation and restarting Eclipse, we can continue the following steps. @@ -17,40 +17,33 @@ continue the following steps. 1\. Select **\[File\]/\[New\]/\[Project\]** to open a New Project dialog. Then choose **Maven Project** under **Maven** item and click -"Next \>". ![ center \| -500px](studio-maven-project-wizard.png " center | 500px") +"Next \>". ![](images/studio-maven-project-wizard.png " center | 500px") -2\. Select location. We usually use default workspace location. ![ -center \| 500px](studio-maven-project-wizard-2.png " center | 500px") +2\. Select location. We usually use default workspace location. ![](images/studio-maven-project-wizard-2.png " center | 500px") 3\. Enter "zk" in filter to search ZK maven archetypes and select what -you want. Click **Next**. ![ center \| -500px](studio-maven-archetype.png " center | 500px") +you want. Click **Next**. ![](images/studio-maven-archetype.png " center | 500px") -- Notice: If you cannot find ZK maven archetypes, please refer to [ Add - ZK Maven - Archeype](ZK_Installation_Guide/Quick_Start/Create_and_Run_Your_First_ZK_Application_with_Eclipse_and_Maven#Add_ZK_Maven_Archetype). +- Notice: If you cannot find ZK maven archetypes, please refer to [ Add ZK Maven Archeype](ZK_Installation_Guide/Quick_Start/Create_and_Run_Your_First_ZK_Application_with_Eclipse_and_Maven#Add_ZK_Maven_Archetype). 4\. Enter preferred ZK version in `zk-version-since` and click -**Finish**. ![ center \| -500px](studio-maven-archetype-parameter.png " center | 500px") +**Finish**. ![](images/studio-maven-archetype-parameter.png " center | 500px") -5\. The new ZK maven project is created with ZK dependencies added. ![ -center \| 400px](studio-maven-project.png " center | 400px") +5\. The new ZK maven project is created with ZK dependencies added. ![](images/studio-maven-project.png " center | 400px") # Run ZK Maven Project 1\. Right click on your project icon and select **\[Run as\]/\[Maven build...\]** to open run configuration dialog. ![ center \| -600px](studio-maven-run.png " center | 600px") +600px](images/studio-maven-run.png " center | 600px") 2\. Enter **jetty:run** in **Goals** textbox and click **Run**. ![ -center \| 500px](studio-maven-run-jetty.png " center | 500px") +center \| 500px](images/studio-maven-run-jetty.png " center | 500px") - Running jetty the firs time may take a while because Maven plugins needs to download some necessary resources, please be patient. 3\. You can see the server starting messages showing up in Console view. -![ center \| 600px](studio-maven-run-console.png " center | 600px") +![ center \| 600px](images/studio-maven-run-console.png " center | 600px") Then visit to see the result. diff --git a/zk_studio_essentials/Create_a_New_ZK_Project.md b/zk_studio_essentials/Create_a_New_ZK_Project.md index 016c6c5..b6d7d8f 100644 --- a/zk_studio_essentials/Create_a_New_ZK_Project.md +++ b/zk_studio_essentials/Create_a_New_ZK_Project.md @@ -7,7 +7,7 @@ 1. Click **\[File\]/\[New\]/\[Other...\]/\[ZK Project\]** in Eclipse main menu. - ![](images/images/zk_studio_094_create_proj_0.png) + ![](images/zk_studio_094_create_proj_0.png) 2. Type the project name. Eclipse will automatically include the @@ -15,19 +15,19 @@ however, you can select another installed ZK release by "ZK Verstion" drop-down list. Then, click **Next**. - ![](images/images/zk_studio_094_create_proj_1.png) + ![](images/zk_studio_094_create_proj_1.png) 3. You can modify the **Source folders** and **Default output folder** if you like. Then, click **Next**. - ![](images/images/zk_studio_094_create_proj_4_1.png) + ![](images/zk_studio_094_create_proj_4_1.png) 4. You can modify **Context root** or **Content directory** if you like. Then, Click **Finish**. - ![](images/images/zk_studio_094_create_proj_4.png) + ![](images/zk_studio_094_create_proj_4.png) 5. After clicking **Finish**, the New Project Wizard will setup the ZK @@ -38,11 +38,11 @@ 1. The project icon's top right corner includes a ZK mark which indicates that it has ZK Studio supported: - ![](images/images/hasZKLibrary.png) + ![](images/hasZKLibrary.png) 2. The ZK package source code will be automatically attached to the related jar files - ![](images/images/Zk_studio_094_source_attach.png) + ![](images/Zk_studio_094_source_attach.png) # Creating a New ZUL File @@ -52,7 +52,7 @@ - Right click on a dynamic web project in "Project Explorer" view or "Package Explorer" view and select **\[New\]/\[ZUL\]**. - ![](images/images/NewZULFileRightClick.png) + ![](images/NewZULFileRightClick.png) @@ -60,13 +60,13 @@ - Click **\[File\]/\[New\]/\[Other\]** in Eclipse's main menu and select "ZUL" under "ZK" node then click **Next**. - ![](images/images/NewZULFileWizard_0.png) + ![](images/NewZULFileWizard_0.png) 2. Type the file name and optional page title, click **Finish**. - ![](images/images/NewZULFileWizard.png) + ![](images/NewZULFileWizard.png) 3. The newly created ZUL File will be opened in ZUL Editor. @@ -77,20 +77,20 @@ You can create new ZUL file by selecting the **\[File\]/\[New\]/\[File\]** in Eclipse's main menu. -![](images/images/NewZULFileMethod1-1.png) +![](images/NewZULFileMethod1-1.png) However, you have to enter the "**.zul**" extension by yourself and the newly create zul file will not contain any sample code. -![](images/images/NewZULFileMethod1-2.png) +![](images/NewZULFileMethod1-2.png) # Running the ZK Project 1\. Right click on the **MyApp** project in explorer and in the Menu dialog select **Run As / Run on Server** -![](images/images/studio-run-on-server.png) +![](images/studio-run-on-server.png) 2\. If you have not defined a server before, Eclipse will show a dialog with "Manually define a new server" option selected. Then Select @@ -100,12 +100,12 @@ environment", please refer to [WTP Tutorials – Building and Running a Web Application](http://www.eclipse.org/webtools/community/tutorials/BuildJ2EEWebApp/BuildJ2EEWebApp.html). -![](images/images/studio-run-select-server.png) +![](images/studio-run-select-server.png) 3\. Eclipse will display the result in its internal browser or you can view the result in your browser. -![](images/images/studio-run-result.png) +![](images/studio-run-result.png) **Tips:** diff --git a/zk_studio_essentials/Global_Preferences.md b/zk_studio_essentials/Global_Preferences.md index 51ba34c..5a0c0f2 100644 --- a/zk_studio_essentials/Global_Preferences.md +++ b/zk_studio_essentials/Global_Preferences.md @@ -4,7 +4,7 @@ from the tree on the left hand side. # Services -![](images/images/studio-preference-services.png) +![](images/studio-preference-services.png) **Error Reporter** @@ -31,7 +31,7 @@ automatically used for any new ZK web application. If you don't select a default ZK package, ZK Studio will automatically choose the latest version of your imported ZK Packages. -![](images/images/studio-preference-package.png) +![](images/studio-preference-package.png) Another way to import ZK package is through ZK Storage view, please refer to [Configure ZK Binary @@ -41,7 +41,7 @@ Distribution](ZK_Studio_Essentials/Features_of_ZK_Studio/ZKs#Configure_ZK_Binary This page is used to configure ZUL Editor. -![](images/images/studio-preference-editor.png) +![](images/studio-preference-editor.png) - **Use plugin's built in zul.xsd** diff --git a/zk_studio_essentials/Installation.md b/zk_studio_essentials/Installation.md index 79d2526..b9d0833 100644 --- a/zk_studio_essentials/Installation.md +++ b/zk_studio_essentials/Installation.md @@ -69,14 +69,14 @@ Marketplace is the easiest way to install plugins. Go to menu **\[Help\] \> \[Eclipse Markpetplace\]** and search **"zk studio"** you'll find **ZK Studio** to install. -![](images/images/Eclipse36_marketplace.png) +![](images/Eclipse36_marketplace.png) ## Update Site 1. Open Eclipse, click the **\[Help\]** menu and select **\[Install New Software...\]**. A install window will popup, and then click **Add** - ![](images/images/zkstudio_installation_35_1.png) + ![](images/zkstudio_installation_35_1.png) 2. Name the site as **"ZK Studio"** and copy corresponding update @@ -88,20 +88,20 @@ Marketplace is the easiest way to install plugins. Go to menu **\[Help\] The URL of ZK Studio for Eclipse 3.7: - ![](images/images/zkstudio_installation_35_2.png) + ![](images/zkstudio_installation_35_2.png) 3. Expand the update entry of ZK Studio, check **ZK Studio** and then click **Next** - ![](images/images/zkstudio_installation_35_3.png) + ![](images/zkstudio_installation_35_3.png) The Eclipse Installation System will now attempt to retrieve information from the update site. This will take some time depending on your eclipse environment, please be patient. 4. Click **Next** on the pop-up install wizard dialog. - ![](images/images/zkstudio_installation_35_4.png) + ![](images/zkstudio_installation_35_4.png) @@ -118,7 +118,7 @@ Marketplace is the easiest way to install plugins. Go to menu **\[Help\] The Installation process will now begin. - ![](images/images/zkstudio_installation_35_5.png) + ![](images/zkstudio_installation_35_5.png) @@ -135,7 +135,7 @@ Marketplace is the easiest way to install plugins. Go to menu **\[Help\] 5. Once the installation is complete, please restart Eclipse as prompted. - ![](images/images/zkstudio_installation_35_6.png) + ![](images/zkstudio_installation_35_6.png) ## Offline Installation diff --git a/zk_studio_essentials/Introduction.md b/zk_studio_essentials/Introduction.md index c619ca4..9142bcd 100644 --- a/zk_studio_essentials/Introduction.md +++ b/zk_studio_essentials/Introduction.md @@ -8,7 +8,7 @@ you are able to develop ZK-based applications easily and efficiently. ZK Studio includes the tools shown and listed below: -![](images/images/studio-introduction.png) +![](images/studio-introduction.png) 1. **ZUL Editor**: ZUL Editor is a document editor for writing \*.zul files. diff --git a/zk_studio_essentials/New_ZK_Project.md b/zk_studio_essentials/New_ZK_Project.md index 8b534f2..0351d3e 100644 --- a/zk_studio_essentials/New_ZK_Project.md +++ b/zk_studio_essentials/New_ZK_Project.md @@ -5,13 +5,13 @@ while ZK Studio does the rest for you. 1. Click **\[File\]/\[New\]/\[Other...\]/\[ZK Project\]** in Eclipse main menu. - ![](images/images/zk_studio_094_create_proj_0.png) + ![](images/zk_studio_094_create_proj_0.png) 2. Type the project name. Eclipse will automatically include the default ZK package configured in the ZK Package preferences, however, you can select any other installed ZK package by selecting it from the combo box. Then, click **Next**. - ![](images/images/zk_studio_094_create_proj_1.png) + ![](images/zk_studio_094_create_proj_1.png) We recommend you to use the latest ZK Packages to get the most features and performances. You can download the latest ZK packages @@ -22,10 +22,10 @@ while ZK Studio does the rest for you. 3. You can modify the **Source folders** and **Default output folder** if you like. Then, click **Next**. - ![](images/images/zk_studio_094_create_proj_4_1.png) + ![](images/zk_studio_094_create_proj_4_1.png) 4. You can modify **Context root** or **Content directory** if you like. Then, Click **Finish**. - ![](images/images/zk_studio_094_create_proj_4.png) + ![](images/zk_studio_094_create_proj_4.png) 5. After clicking **Finish**, the New Project Wizard will setup the ZK Project ready for development. diff --git a/zk_studio_essentials/Outline_View_of_ZUL.md b/zk_studio_essentials/Outline_View_of_ZUL.md index 9b4c54a..2799b69 100644 --- a/zk_studio_essentials/Outline_View_of_ZUL.md +++ b/zk_studio_essentials/Outline_View_of_ZUL.md @@ -3,7 +3,7 @@ currently selected ZUL Editor. It can be opened by clicking **\[Window\]/\[Show View\]/\[Outline\]**. Through this view, you can quickly get a big picture of the components you have used in a ZUL. -![](images/images/studio-outline-view.png) +![](images/studio-outline-view.png) Each component in this view is prefixed with an icon to distinguish different tag elements. Any modification made to the zul file will be diff --git a/zk_studio_essentials/Project_Properties.md b/zk_studio_essentials/Project_Properties.md index 4d102b4..0bbe9b1 100644 --- a/zk_studio_essentials/Project_Properties.md +++ b/zk_studio_essentials/Project_Properties.md @@ -8,7 +8,7 @@ Otherwise, **Package Setting** page is invisible. # ZK -![](images/images/studio-project-preference-zk.png) +![](images/studio-project-preference-zk.png) This preference page lists the version number, library location, and the add-ons currently available for the current project's ZK package. diff --git a/zk_studio_essentials/Property_View_of_a_Component.md b/zk_studio_essentials/Property_View_of_a_Component.md index e35ac5c..d902a6f 100644 --- a/zk_studio_essentials/Property_View_of_a_Component.md +++ b/zk_studio_essentials/Property_View_of_a_Component.md @@ -4,7 +4,7 @@ Outline view or of a component you have put the cursor on in the ZUL Editor. You can open it by clicking **\[Window\]/\[Show View\]/\[Properties\]**. -![](images/images/studio-properties-view.png) +![](images/studio-properties-view.png)
diff --git a/zk_studio_essentials/Welcome_Page.md b/zk_studio_essentials/Welcome_Page.md index 6c24061..952d43d 100644 --- a/zk_studio_essentials/Welcome_Page.md +++ b/zk_studio_essentials/Welcome_Page.md @@ -10,4 +10,4 @@ The page's hyperlinks consist of two types: The Welcome Page can be opened by clicking **\[Help\]/\[ZK Help\]/\[ZK Welcome Page\]** -![](images/images/studio-welcome-page.png) +![](images/studio-welcome-page.png) diff --git a/zk_studio_essentials/Work_with_Existing_Dynamic_Web_Projects.md b/zk_studio_essentials/Work_with_Existing_Dynamic_Web_Projects.md index f86c7b9..a4c3dad 100644 --- a/zk_studio_essentials/Work_with_Existing_Dynamic_Web_Projects.md +++ b/zk_studio_essentials/Work_with_Existing_Dynamic_Web_Projects.md @@ -8,4 +8,4 @@ project. 3. Check **ZK Studio Supports**on right panel and click **Apply**. 4. Click **OK** to close project preference window. -![](images/images/addZKtoExistProject_1.png) +![](images/addZKtoExistProject_1.png) diff --git a/zk_studio_essentials/ZK_Perspective.md b/zk_studio_essentials/ZK_Perspective.md index 9561891..9ca6cee 100644 --- a/zk_studio_essentials/ZK_Perspective.md +++ b/zk_studio_essentials/ZK_Perspective.md @@ -4,4 +4,4 @@ including the **Properties** view, the **ZK Storage View**, the clicking **\[Window\]/\[Open Perspective\]/\[Others\]** and selecting **ZK**, and it will look like this: -![](images/images/studio-perspective.png) +![](images/studio-perspective.png) diff --git a/zk_studio_essentials/ZKs.md b/zk_studio_essentials/ZKs.md index 00512af..fee4ef5 100644 --- a/zk_studio_essentials/ZKs.md +++ b/zk_studio_essentials/ZKs.md @@ -4,7 +4,7 @@ ZKs stands for **ZK Storage**. It is the mechanism by which ZK studio manages ZK releases that your ZK project or ZK studio may use. You can see the contents of ZK Storage in the **ZK Storage View** -![](images/images/studio-storage-view.png) +![](images/studio-storage-view.png) # ZK Binary Distribution Management @@ -15,12 +15,12 @@ To browse and install ZK binary releases, open ZK Storage view and click **\[Window\]/\[Show View\]/\[Other\]** and selecting **ZK / ZK Storage View**. -![](images/images/studio-storage-view-download.png) +![](images/studio-storage-view-download.png) Click on the icon, and the Installation dialog will popup where you can browse and select. -![](images/images/studio-release-install-process.png) +![](images/studio-release-install-process.png) After clicking **Start**, the installation process will be triggered and selected releases will appear in your ZK Storage. @@ -39,7 +39,7 @@ View\]/\[Other\]** and selecting **ZK / ZK Storage View**. Step 1: Click **Import** in ZK Storage View. -![](images/images/studio-storage-view-import.png) +![](images/studio-storage-view-import.png) Step 2: Click **File Import** and a file dialog will appear, choose the ZK archive file you have downloaded, and click **Finish** to import. @@ -62,7 +62,7 @@ title=" center | 450px" /> To remove a ZK release, simply right click on it and click **Delete a Package**. -![](images/images/studio-storage-view-delete.png) +![](images/studio-storage-view-delete.png) ### Configure ZK Binary Distribution @@ -73,4 +73,4 @@ ZK Studio will automatically choose the latest version of those imported ZK Packages as the default package. You can remove unwanted ZK package by selecting the row in **ZK Package** then click **Remove**. -![](images/images/studio-preference-package.png) +![](images/studio-preference-package.png) diff --git a/zk_studio_essentials/ZUL_Editor.md b/zk_studio_essentials/ZUL_Editor.md index fcc5f19..a7ac872 100644 --- a/zk_studio_essentials/ZUL_Editor.md +++ b/zk_studio_essentials/ZUL_Editor.md @@ -14,12 +14,12 @@ variable, object, method, or class declaration, and selected token's all occurrences (read/write access) in the currently opened zul file will be marked. -![](images/images/mark1.png) +![](images/mark1.png) Mark Occurrence also works when the token is located within an EL Expression. -![](images/images/el_mark.png) +![](images/el_mark.png) # Syntax Checking @@ -31,29 +31,29 @@ discover how many errors are present in the zul file and the location of said errors. By clicking on the marker you can jump to the line which contains the error. -![](images/images/syntaxCheckRightBar.png) +![](images/syntaxCheckRightBar.png) The markers on the left hand side show an appropriate error message when clicked. -![](images/images/syntaxCheckLeftMark.png) +![](images/syntaxCheckLeftMark.png) Move the mouse on the occurrence of the error marked by a red wavy line (or the warning marked by a yellow wavy line) and the error message will be display in a tooltip. -![](images/images/syntaxCheckTooltip.png) +![](images/syntaxCheckTooltip.png) Syntax checking also works on data binding expressions. -![](images/images/studio-syntax-checking-mvvm.png) +![](images/studio-syntax-checking-mvvm.png) # Syntax Coloring Java code enclosed within and tags are colored appropriately according to the syntax. -![](images/images/studio-syntax-coloring.png) +![](images/studio-syntax-coloring.png) # Content Assist @@ -74,7 +74,7 @@ For basic usage scenario, please refer to Eclipse official tutorial: ZUL & XML tags support content assist and can be invoked by using the default content assist keyboard shortcut. -![](images/images/contentAssistXMLTag.png) +![](images/contentAssistXMLTag.png) This feature doesn't work on those add-on components like ZK Charts and ZK Spreadsheet. @@ -84,7 +84,7 @@ ZK Spreadsheet. The content within **use** and **apply** attributes also supports content assist. -![](images/images/contentAssistinAttribute.png) +![](images/contentAssistinAttribute.png) ## Zscript Content Assist @@ -93,20 +93,20 @@ auto completion functionality within **`...`**, **`...`** code blocks and event attribute values in the ZUML tag. -![](images/images/contentAssistZscript.png) +![](images/contentAssistZscript.png) Classes located in JAR files can also be included in content assist. In addition to that if the JAR's source code is available, JavaDoc can be shown beside the content assist window. -![](images/images/contentAssistJavaDoc.png) +![](images/contentAssistJavaDoc.png) ## EL Expression Content Assist Inside the EL Expression you can also invoke the content assist via a keyboard shortcut. -![](images/images/contentAssistEL.png) +![](images/contentAssistEL.png) ## MVVM Content Assist @@ -125,7 +125,7 @@ title=" center | 500px" /> When you enter a **dot** ('.'), it list a ViewModel's properties. ![ center \| -600px](studio-contentassist-mvvm-properties.png " center | 600px") +600px](images/studio-contentassist-mvvm-properties.png " center | 600px") ### Available variables @@ -141,7 +141,7 @@ ZK Studio provides Javadoc hovering functionality. When a cursor hovers over the code, Javadoc belonging to the element will be shown in a tooltip. -![](images/images/JAVADocHover.png) +![](images/JAVADocHover.png) Please note in order for content assist and Javadoc to work with JAR files you need to set source and/or Javadoc of said files, please refer @@ -200,7 +200,7 @@ resource). A ZUML tag's event attribute value is also accessible using Hyperlink Navigation. -![](images/images/attrHyperlink.png) +![](images/attrHyperlink.png) # ZUL File Formatting @@ -217,4 +217,4 @@ source format keyboard shortcut is **'Ctrl + Shift + F**. You can reconfigure the keyboard shortcut as described in [Configure Keyboard Shortcuts](ZK_Studio_Essentials/Eclipse_Tips#Configure_Keyboard_Shortcuts). -![](images/images/sourceFormat.png) +![](images/sourceFormat.png) diff --git a/zk_studio_essentials/ZUL_Palette.md b/zk_studio_essentials/ZUL_Palette.md index 5bb5e33..26206a1 100644 --- a/zk_studio_essentials/ZUL_Palette.md +++ b/zk_studio_essentials/ZUL_Palette.md @@ -27,4 +27,4 @@ The ZUL Palette supports ZUML tag name filtering. Upon typing a component's name into the filter text box to search, the palette will filter listed components automatically. -![](images/images/studio-palette-filter.png) +![](images/studio-palette-filter.png) diff --git a/zk_studio_essentials/images/Zk_studio_094_source_attach.png b/zk_studio_essentials/images/Zk_studio_094_source_attach.png new file mode 100644 index 0000000000000000000000000000000000000000..5aa6dad23311c12ab736aec7b30883da601a89f1 GIT binary patch literal 47096 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 B?WX_$ literal 0 HcmV?d00001 diff --git a/zk_studio_essentials/zk_xml_Editor.md b/zk_studio_essentials/zk_xml_Editor.md index 0b6e3d2..5086261 100644 --- a/zk_studio_essentials/zk_xml_Editor.md +++ b/zk_studio_essentials/zk_xml_Editor.md @@ -3,7 +3,7 @@ your project's `WEB-INF/zk.xml`). The editor can be opened by right clicking the zk.xml file and selecting **\[Open With\]/\[XML Editor for zk.xml\]** from the context menu. -![](images/images/zkxmlEditor.png) +![](images/zkxmlEditor.png) The zk.xml editor provides content assist when editing the ZK configuration file. For detailed descriptions of every element in