{"id":15089303,"url":"https://github.com/micartey/mvml","last_synced_at":"2026-01-03T23:47:50.029Z","repository":{"id":256084249,"uuid":"849921160","full_name":"micartey/mvml","owner":"micartey","description":"The worlds worst take at yaml","archived":false,"fork":false,"pushed_at":"2024-09-08T21:32:29.000Z","size":361,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-26T10:08:29.968Z","etag":null,"topics":["yaml","yml"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/micartey.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-30T14:17:05.000Z","updated_at":"2025-01-26T01:04:25.000Z","dependencies_parsed_at":"2024-09-08T22:38:53.994Z","dependency_job_id":null,"html_url":"https://github.com/micartey/mvml","commit_stats":null,"previous_names":["micartey/mvml"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micartey%2Fmvml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micartey%2Fmvml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micartey%2Fmvml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micartey%2Fmvml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/micartey","download_url":"https://codeload.github.com/micartey/mvml/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244813963,"owners_count":20514704,"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","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":["yaml","yml"],"created_at":"2024-09-25T08:44:24.237Z","updated_at":"2026-01-03T23:47:49.990Z","avatar_url":"https://github.com/micartey.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mvml\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://www.oracle.com/java/\"\u003e\n    \u003cimg\n      src=\"https://img.shields.io/badge/Written%20in-java-%23EF4041?style=for-the-badge\"\n      height=\"30\"\n    /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://jitpack.io/#micartey/mvml/master-SNAPSHOT\"\u003e\n    \u003cimg\n      src=\"https://img.shields.io/badge/jitpack-master-%2321f21?style=for-the-badge\"\n      height=\"30\"\n    /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://micartey.github.io/mvml/docs/me/micartey/mvml/MvmlParser.html\" target=\"_blank\"\u003e\n    \u003cimg\n      src=\"https://img.shields.io/badge/javadoc-reference-5272B4.svg?style=for-the-badge\"\n      height=\"30\"\n    /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003e [!IMPORTANT]\\\n\u003e mvml is my bad try at somewhat reading and writing yaml files while preserving comments.\n\u003e This markup language is not according to yml specifications and I DO NOT recommend using it in production.\n\n\n## 📚 Introduction\n\n`mvml` (micarteys version of a markup language) is essentially a yaml clone with less features and without following the specification.\nYaml specification doesn't respect comments, thus breaking yaml files with comments when writing to it.\nAs this is very annoying and unwanted behaviour, I tried to create a parser which supports the yaml structure and respects comments.\n\n### Usage\n\nThe following syntax is currently supported:\n\n```yaml\n# Some comment\n# in multiple lines\n\nmy:\n  # Some other comment\n  field: 123\n\n  # List representation will look like this\n  list: [\"Some\", \"String\", \"Array\"]\n\nroot-level-field: false\n```\n\nThis is not much, but sufficient for most configurations.\nIf you want to use lists, you might want to represent them as arrays in a single line instead of a list as per usual.\nThe mvml parser gives you a string without trying to interpret it, altough this might be added in the future.\n\n\n```java\nMvmlParser parser = new MvmlConfiguration(file)\n        .setTemplate(stream)\n        .load();\n\nString value = parser.get(\"my.field\"); // Returns 123\n```\n\nPlease check out the [JavaDocs](https://micartey.github.io/mvml/docs/me/micartey/mvml/MvmlParser.html) for an overview of all avialable operations.\n\n## Parse Custom Types\n\nIf you want to parse custom data, make sure your object has the following to methods:\n\n```java\n@Override\npublic String toString() {\n    // return a String represetation\n}\n\npublic YouDataType valueOf(String representation) {\n    // return instance of YouDataType from String representation\n}\n```\n\nThese methods will automatically be invoked by mvml when calling the [**get(field, class)**](https://micartey.github.io/mvml/docs/me/micartey/mvml/MvmlParser.html#get(java.lang.String,java.lang.Class)) method","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicartey%2Fmvml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicartey%2Fmvml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicartey%2Fmvml/lists"}