{"id":23520546,"url":"https://github.com/meinac/odf_core","last_synced_at":"2025-05-14T01:32:13.491Z","repository":{"id":56886197,"uuid":"127674976","full_name":"meinac/odf_core","owner":"meinac","description":"The full set of ODF elements and attributes","archived":false,"fork":false,"pushed_at":"2018-04-02T00:54:40.000Z","size":115,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-27T02:26:15.637Z","etag":null,"topics":["odf","odp","ods","odt","open-document-format"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","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/meinac.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-04-01T22:03:55.000Z","updated_at":"2018-06-14T13:23:32.000Z","dependencies_parsed_at":"2022-08-21T00:50:13.319Z","dependency_job_id":null,"html_url":"https://github.com/meinac/odf_core","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meinac%2Fodf_core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meinac%2Fodf_core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meinac%2Fodf_core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meinac%2Fodf_core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meinac","download_url":"https://codeload.github.com/meinac/odf_core/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239207403,"owners_count":19599966,"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":["odf","odp","ods","odt","open-document-format"],"created_at":"2024-12-25T16:14:22.361Z","updated_at":"2025-02-16T23:15:36.069Z","avatar_url":"https://github.com/meinac.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OdfCore\n\n[![Build Status](https://travis-ci.org/meinac/odf_core.svg?branch=master)](https://travis-ci.org/meinac/odf_core)\n\nFull set of \"Open Document Format\" elements translated into Ruby classes.\nOk, seems like cool but what does it mean? It means if you are developing an ODF gem you can take this implementation as a foundation of your gem. If you are looking for an easy to use ODF implementation without knowing all the implementation details of ODF, you are not supposed to be here, instead you can have a look at the [ODF gem](https://github.com/meinac/odf).\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n```ruby\ngem 'odf_core'\n```\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install odf_core\n\n## Usage\n\nThis gem provides Ruby classes for all ODF elements. If the element you want to use is `draw::text-box` then the class you are looking for is `OdfCore::Element::Draw::TextBox`. The pattern is applicable for all the elements(`OdfCore::Element::$NAMESPACE::$ELEMENT_NAME_IN_RUBY_CONVENTION`).\n\nThe element instance has a simple interface with 3 methods;\n\n- `\u003c\u003c` method allows you to insert child element\n- `[]=` method allows you to set attribute for element\n- `[]` method allows you to get the value of the attribute for the element\n\nExample of adding child into an element;\n\n    text_box = OdfCore::Element::Draw::TextBox.new\n    headline = OdfCore::Element::Draw::H.new\n    text_box \u003c\u003c headline\n\nExample of setting and getting the attribute of an element;\n\n    text_box = OdfCore::Element::Draw::TextBox.new\n    text_box['fo:max-height'] = '10px'\n    text_box['fo:max-height']\n\n## Development\n\nAfter checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.\n\nTo install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/meinac/odf_core.\n\n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeinac%2Fodf_core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeinac%2Fodf_core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeinac%2Fodf_core/lists"}