{"id":28802666,"url":"https://github.com/ryanfb/xsugar","last_synced_at":"2026-02-02T05:03:22.399Z","repository":{"id":932525,"uuid":"703776","full_name":"ryanfb/xsugar","owner":"ryanfb","description":"XSugar code for EpiDoc\u003c-\u003eLeiden+ transformation","archived":false,"fork":false,"pushed_at":"2016-03-11T15:53:03.000Z","size":3133,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-04-11T17:41:04.720Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ryanfb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-06-04T19:20:15.000Z","updated_at":"2015-06-17T15:16:04.000Z","dependencies_parsed_at":"2022-07-15T05:16:48.054Z","dependency_job_id":null,"html_url":"https://github.com/ryanfb/xsugar","commit_stats":null,"previous_names":[],"tags_count":61,"template":null,"template_full_name":null,"purl":"pkg:github/ryanfb/xsugar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanfb%2Fxsugar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanfb%2Fxsugar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanfb%2Fxsugar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanfb%2Fxsugar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ryanfb","download_url":"https://codeload.github.com/ryanfb/xsugar/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanfb%2Fxsugar/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260515090,"owners_count":23020618,"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":[],"created_at":"2025-06-18T08:07:16.362Z","updated_at":"2026-02-02T05:03:22.393Z","avatar_url":"https://github.com/ryanfb.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"Requirements\n------------\n\n * [JRuby 1.6.8](http://jruby.org/) - preferably managed with [rbenv](https://github.com/sstephenson/rbenv)\n * [Bundler](http://bundler.io) - `gem install bundler`\n\nUsage\n-----\n\nThis project contains JRuby libraries and wrappers for\n[XSugar](http://www.brics.dk/xsugar/) as well as grammars for converting\nbetween [EpiDoc XML](http://epidoc.sourceforge.net/) and Leiden+ (a \nLeiden-style plaintext markup). There is also a pure-Java standalone\nXSugar transformation servlet in `src/standalone`.\n\nTo convert between the EpiDoc and Leiden+, the utility scripts\n`xml2nonxml.rb` and `nonxml2xml.rb` are provided.\n\nTo use them you can simply run:\n\n    ./bin/xml2nonxml.rb \u003c epidoc.xml \u003e leiden.txt\nor\n    ./bin/nonxml2xml.rb \u003c leiden.txt \u003e epidoc.xml\n\nFile Structure\n--------------\n\n    bin/                     command-line scripts\n        blackboard_agent.rb  blackboard XSugar transformer agent (run many)\n        blackboard_server.rb blackboard XSugar transformer server (run one)\n        coverage.sh          IDP2 grammar coverage script\n        xml2nonxml.rb        command-line xml-\u003enon-xml RXSugar utility\n        nonxml2xml.rb        command-line non-xml-\u003exml RXSugar utility\n    epidoc.xsg               Leiden+ XSugar grammar\n    init.rb                  Rails plugin init script\n    lib/                     source code\n        coverage/            classes for testing XSugar coverage\n        standalone/          classes for warming up standalone server\n        jruby_helper.rb      helper classes for invoking RXSugar from JRuby\n        modules_jruby.rb     Java-\u003eRuby module conversion for JRuby\n        modules_rjb.rb       Java-\u003eRuby module conversion for RJB\n        rxsugar.rb           main Ruby XSugar wrapper class\n        rxsugar_helper.rb    helper classes for using Ruby XSugar wrapper\n        util_helper.rb       helper classes for command-line scripts\n        xsugar-all.jar       compiled upstream XSugar JAR\n    src/                     Java source code\n        standalone/          source code for standalone transformation server\n        xsugar/              upstream XSugar source code\n    test/                    source code for unit testing\n    translation_epidoc.xsg   XSugar grammar for EpiDoc translations\n\nTesting\n-------\n\nThe Ruby testing uses bundler for gem dependencies, so you should invoke rake with:\n  \n  bundle exec rake\n\nUpstream\n--------\n\nThe Java XSugar source is tracked in xsugar-vendor. Customizations for this\nproject are in xsugar-customizations, merged into master. To e.g. update\nto a new upstream version of XSugar, you would unpack it to src/xsugar\non the xsugar-vendor branch and commit the changes. Then you would rebase\nthe changes in xsugar-customizations onto the new xsugar-vendor. Then merge\nxsugar-customizations into master and rebuild lib/xsugar-all.jar (using the \nrake task java:xsugar:build) and commit. Do not make changes/customizations to\nthe Java XSugar source on master, make them on xsugar-customizations so that\nthe merge upstream/rebase/merge workflow is more straightforward.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanfb%2Fxsugar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryanfb%2Fxsugar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanfb%2Fxsugar/lists"}