{"id":23762407,"url":"https://github.com/thymeleaf/thymeleaf-extras-eclipse-plugin","last_synced_at":"2025-09-05T06:31:53.548Z","repository":{"id":6404441,"uuid":"7642610","full_name":"thymeleaf/thymeleaf-extras-eclipse-plugin","owner":"thymeleaf","description":"Thymeleaf integration plugin for the Eclipse IDE","archived":false,"fork":false,"pushed_at":"2023-10-22T22:40:33.000Z","size":47944,"stargazers_count":133,"open_issues_count":41,"forks_count":30,"subscribers_count":17,"default_branch":"3.1-master","last_synced_at":"2025-04-06T00:51:09.687Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.thymeleaf.org","language":"Groovy","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thymeleaf.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.markdown","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2013-01-16T09:16:06.000Z","updated_at":"2025-02-06T07:25:08.000Z","dependencies_parsed_at":"2022-09-01T20:12:11.513Z","dependency_job_id":"651e9d0a-cd29-4522-8412-2e7d6ff06330","html_url":"https://github.com/thymeleaf/thymeleaf-extras-eclipse-plugin","commit_stats":{"total_commits":221,"total_committers":6,"mean_commits":"36.833333333333336","dds":0.02714932126696834,"last_synced_commit":"ee5d051528ef7f6b06554258e1d50ecf44d4825f"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/thymeleaf/thymeleaf-extras-eclipse-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thymeleaf%2Fthymeleaf-extras-eclipse-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thymeleaf%2Fthymeleaf-extras-eclipse-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thymeleaf%2Fthymeleaf-extras-eclipse-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thymeleaf%2Fthymeleaf-extras-eclipse-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thymeleaf","download_url":"https://codeload.github.com/thymeleaf/thymeleaf-extras-eclipse-plugin/tar.gz/refs/heads/3.1-master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thymeleaf%2Fthymeleaf-extras-eclipse-plugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273722729,"owners_count":25156300,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-31T21:19:11.113Z","updated_at":"2025-09-05T06:31:52.444Z","avatar_url":"https://github.com/thymeleaf.png","language":"Groovy","readme":"\nThymeleaf - Eclipse Plugin module\n=================================\n\n[![Build Status](https://github.com/thymeleaf/thymeleaf-extras-eclipse-plugin/actions/workflows/build.yml/badge.svg)](https://github.com/thymeleaf/thymeleaf-extras-eclipse-plugin/actions)\n[![Eclipse Marketplace](https://img.shields.io/eclipse-marketplace/v/thymeleaf-plugin-eclipse)](https://marketplace.eclipse.org/content/thymeleaf-plugin-eclipse)\n\nA plugin for the Eclipse IDE to add content assist features for the Thymeleaf\nstandard dialect processors and expression utility objects, using the Eclipse\nWeb Tools Platform HTML source editor.\n\n![Autocompletion demo](autocomplete.gif)\n\n\nMinimum Requirements\n--------------------\n\n - Java 17\n - An Eclipse IDE based on 2023-06 or newer\n - A Thymeleaf 3 project\n\n\u003e Please note that this plugin is really only effective in the Eclipse WebTools\n\u003e HTML Editor, which was the default editor for HTML files back when this plugin\n\u003e was first developed, but may no longer be with newer versions of Eclipse or\n\u003e other installations like the Spring Tool Suite.  To check if the HTML Editor\n\u003e is being used to open HTML files, look at the note in [Invoking content assist](#invoking-content-assist)\n\u003e below.\n\u003e \n\u003e Members of the Thymeleaf team no longer use Eclipse in their day-to-day, so\n\u003e developing for it is especially difficult.  As such, this plugin is in\n\u003e maintenance mode, doing just enough to make sure it still works with Eclipse\n\u003e so long as no drastic changes are made to the IDE.\n\n\nInstallation\n------------\n\nThis plugin is available on the [Eclipse Marketplace](https://marketplace.eclipse.org/content/thymeleaf-plugin-eclipse).\nSearching for \"thymeleaf\" in the marketplace website or client from Eclipse\nwill bring up this plugin for installation.\n\nAlternatively, you can install this plugin using the update site URL:\nhttps://www.thymeleaf.org/eclipse-plugin-update-site/\n\nOr, download a ZIP archive of the plugin from the\n[releases](https://github.com/thymeleaf/thymeleaf-extras-eclipse-plugin/releases)\npages.\n\n\nFeatures\n--------\n\n### Content Assist\n\nContent assist features are only available for dialects which have supplied\nspecial dialect metadata files in their JARs.  Many of the dialects that come\nwith Thymeleaf already include such files.  Other dialects, however, are up to\nthe discretion of their developers.  If you're developing a Thymeleaf dialect\nand would like to take advantage of content assist for your own dialect, read\nthe section on\n[adding content assist for your dialect](#adding-content-assist-for-your-dialect).\n\nOnce those help files are available, and that the JAR is in the classpath of the\nproject, you can make content assist available in your HTML files through 1 of 2\nways:\n\n#### 1. Declaring the dialect namespace and prefix in your HTML files\n\nThis is the easiest method and you may have already done this to keep the XML\nvalidator happy:\n\n```html\n\u003c!DOCTYPE html\u003e\n\u003chtml xmlns:th=\"http://www.thymeleaf.org\"\u003e\n```\n\n#### 2. Applying the Thymeleaf project nature to your project\n\nThis method will make content assist available to _all_ of the HTML files in\nyour project, and is ideal for when you've organized your code to have plenty of\nreusable HTML fragments without a common root element on which to put the XML\nnamespace.\n\nTo add the Thymeleaf nature to your project: right-click a project \u003e\u003e Configure \u003e\u003e\nAdd Thymeleaf Nature.\n\n#### Invoking content assist\n\nUsing either method, you should now start getting content assist for any dialect\nwhose namespace is explicitly declared in your HTML files (method 1), or for\nevery dialect in your project's classpath (method 2).  This applies to\nsuggestions as you type, autocompletion of what you've entered so far if it\nmatches only one result (both of these can be invoked manually using CTRL+SPACE),\nand help text when hovering the cursor over a Thymeleaf processor.\n\n\u003e These features are only available in the Eclipse WebTools HTML editor, which\n\u003e may not be the default for HTML files in your Eclipse installation.  To check\n\u003e that you're using WTP's HTML editor, right-click an HTML file \u003e\u003e Open with,\n\u003e and see if HTML Editor is selected:\n\n\u003cimg alt=\"HTML editor example\" src=\"html-editor.png\" width=\"448\"/\u003e\n\n\nAdding content assist for your dialect\n--------------------------------------\n\nThe content assist features are driven by metadata about a dialect, currently\ndone using XML files, conforming to a schema that lives at\n[https://www.thymeleaf.org/xsd/thymeleaf-extras-dialect-2.1.xsd](https://www.thymeleaf.org/xsd/thymeleaf-extras-dialect-2.1.xsd).\n\nWhen content assist is invoked, this plugin will look for XML files in the\nclasspath of the current project whose XML namespace is `http://www.thymeleaf.org/extras/dialect`.\nIf such a file is found, it is loaded and the information in it is used to form\nthe content assist data that the Eclipse plugin uses.\n\nDialect developers can take advantage of this by including XML help files as\npart of their dialect JARs.  All you need to do is create an XML file that\nconforms to the schema above, then bundle that XML file with your JAR.\n\nSome notes on where you put that file in the JAR:\n\n - it cannot go in the default package\n - the directory it goes in must be a valid Java package name\n\nThese are just short-comings of the current dialect scanning method, which\nitself is built upon Eclipse's own lookup mechanisms.\n\n\nDeveloping this plugin\n----------------------\n\n### Setup\n\nAs a base, it's best to install the Eclipe IDE for Java and Web Developers using\nthe Eclipse Installer.  This gives you access to most of the tools required to\nwork on this plugin.  After that, also install the Groovy Development Tools (can\nbe done from the marketplace) and any m2e connectors that may come up as a\nresult of trying to fix the Tycho errors in the `pom.xml` files.\n\n### Building\n\nWith all of the above installed, you should be able to run an Eclipse instance\nfrom within Eclipse, with the plugin included.\n\nFrom the command line, you can use `mvn verify` to compile, test, and create the\nplugin repository and download artifacts.\n\n### Releasing\n\nHaving run `mvn verify`, switch to the `update-site` branch in this repo and\ncreate a folder for the version of the plugin you're looking to release.  Then,\nplace all of the contents of `target/repository/update-site` into that folder.\nCommit and push the changes.\n\nOpen the [Thymeleaf website project](https://github.com/thymeleaf/thymeleaf.github.io)\nand place the contents of `target/compositeRepository` into the `eclipse-plugin-update-site`\nfolder.  Commit and push the changes.\n\nLastly, go to [the Eclipse Marketplace page for the plugin](https://marketplace.eclipse.org/content/thymeleaf-plugin-eclipse),\nsign in to the website, and add a new version that points to the one you made in\nthe `update-site` branch of this GitHub repository, eg: `https://raw.githubusercontent.com/thymeleaf/thymeleaf-extras-eclipse-plugin/update-site/3.1.0/`\nDon't forget to Save those changes.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthymeleaf%2Fthymeleaf-extras-eclipse-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthymeleaf%2Fthymeleaf-extras-eclipse-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthymeleaf%2Fthymeleaf-extras-eclipse-plugin/lists"}