{"id":20630730,"url":"https://github.com/sysgears/grain-gradle-plugin","last_synced_at":"2025-04-15T18:22:40.346Z","repository":{"id":14796206,"uuid":"17518318","full_name":"sysgears/grain-gradle-plugin","owner":"sysgears","description":"Gradle plugin for Grain","archived":false,"fork":false,"pushed_at":"2017-07-14T08:29:22.000Z","size":102,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-03-28T23:21:58.264Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Groovy","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"anton-novikau/NotificationWorkshop","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sysgears.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}},"created_at":"2014-03-07T15:30:29.000Z","updated_at":"2023-07-04T19:35:42.000Z","dependencies_parsed_at":"2022-09-26T21:51:22.237Z","dependency_job_id":null,"html_url":"https://github.com/sysgears/grain-gradle-plugin","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sysgears%2Fgrain-gradle-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sysgears%2Fgrain-gradle-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sysgears%2Fgrain-gradle-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sysgears%2Fgrain-gradle-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sysgears","download_url":"https://codeload.github.com/sysgears/grain-gradle-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249126453,"owners_count":21216786,"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":"2024-11-16T14:09:23.811Z","updated_at":"2025-04-15T18:22:40.322Z","avatar_url":"https://github.com/sysgears.png","language":"Groovy","funding_links":[],"categories":[],"sub_categories":[],"readme":"Grain Gradle Plugin\n===================\n\n[![Twitter Follow](https://img.shields.io/twitter/follow/sysgears.svg?style=social)](https://twitter.com/sysgears)\n\nGradle plugin for [Grain][Grain] framework. Grain is a general purpose static site generator which allows\nto build websites of any size and complexity, like project and documentation sites or custom blog resources.\nGrain supports Markdown, RST and AsciiDoc markup rendering, page templates with embedded Groovy code,\nresource compression and minification, code highlighting using Python Pygments and more.\n\nThe plugin allows to create and manage your static website using Gradle, thus making it much easier to\ncreate sites for your existing Gradle projects.\n\nGetting Started\n===============\n\nTo use in Gradle 2.1 and later:\n\n```groovy\nplugins {\n  id \"com.sysgears.grain\" version \"0.2.3\"\n}\n\nrepositories {\n    mavenCentral()\n}\n```\n\nTo use in earlier versions of Gradle:\n\n```groovy\nbuildscript {\n  repositories {\n    maven {\n      url \"https://plugins.gradle.org/m2/\"\n    }\n  }\n  dependencies {\n    classpath \"gradle.plugin.com.sysgears.grain:grain-gradle-plugin:0.2.3\"\n  }\n}\n\napply plugin: \"com.sysgears.grain\"\n\nrepositories {\n    mavenCentral()\n}\n```\n\nThen put a Grain site sources to the `src/site` directory. For this purpose you can use one of the\nGrain [themes][Grain themes]. If you have already downloaded a Grain theme, simply copy its files to the `src/site`.\nAlternatively, you may install a theme by running Gradle task of appropriate type. Just copy the following to your\n*build.gradle* script:\n\n```groovy\ntask grainInstall(type: com.sysgears.grain.gradle.GrainInstallTask) {\n    theme = 'template' // theme to install, can be 'template', 'octopress', etc.\n    version = '0.4.2'  // theme version\n}\n```\n\n\u003e If the `theme` argument isn't specified, [Theme Template][Theme Template] will be installed by default, and if you\ndon't set the `version`, the latest available version will be fetched.\n\nAs you have added the sources, you can execute the following Gradle tasks:\n\n - `gradle grainPreview` - launches your website in a preview mode\n - `gradle grainGenerate` - generates all the website files to the *destination* directory (see [filesystem layout][filesystem layout])\n - `gradle grainDeploy` - deploys the resulting files (see [deployment configuration][deployment configuration])\n - `gradle grainClean` - cleans the site *destination* and *target* directories\n\n[filesystem layout]: http://sysgears.com/grain/docs/latest/#filesystem-layout\n[deployment configuration]: http://sysgears.com/grain/docs/latest/#deployment-configuration\n\nConfiguration\n-------------\n\nOptionally, you can change the site sources directory by specifying the `grain.projectDir` property:\n\n```groovy\ngrain {\n    projectDir = '' // relative path to the site sources, default to 'src/site'\n}\n```\n\nAlso, you can set a specific Grain version, just be sure that it is compatible with your theme:\n\n```groovy\ngrain {\n    version = '0.6.5' // the Grain version, must be compatible with the theme version\n}\n```\n\nTo use the latest Grain snapshot, you should define the Sonatype snapshots repository first:\n\n```groovy\nrepositories {\n    mavenCentral()\n    maven {\n        url 'https://oss.sonatype.org/content/repositories/snapshots/'\n    }\n}\n\ngrain {\n    version = '0.7.0-SNAPSHOT'\n}\n```\n\nAdvanced Usage\n--------------\n\nYou can run your own Grain [commands][custom commands] from the build script. For example, if you\nhave the `compress` command to gzip site files before deploying, you can simply execute it by the\nfollowing `GrainTask`:\n\n```groovy\ntask(grainCompress, type: com.sysgears.grain.gradle.GrainTask) {\n   command = 'compress' // the name of the custom command\n   // arguments = []    // the arguments to pass to the command\n   // jvmArguments = [] // JVM arguments to launch Grain process\n}\n```\n[custom commands]: http://sysgears.com/grain/docs/latest/#creating-your-own-commands\n\nFor further information please visit [Grain project website][Grain].\n\nContributing\n============\n\nAny person or company wanting to contribute to Grain Gradle plugin should follow\nthe following rules in order to their contribution being accepted.\n\nSign your Work\n--------------\n\nWe require that all contributors \"sign-off\" on their commits.  This\ncertifies that the contribution is your original work, or you have rights to\nsubmit it under the same license, or a compatible license.\n\nAny contribution which contains commits that are not Signed-Off will not be\naccepted.\n\nTo sign off on a commit you simply use the `--signoff` (or `-s`) option when\ncommitting your changes:\n\n    $ git commit -s -m \"Adding a new widget driver for cogs.\"\n\nThis will append the following to your commit message:\n\n    Signed-off-by: Your Name \u003cyour@email.com\u003e\n\nBy doing this you certify the below:\n\n    Developer's Certificate of Origin 1.1\n\nIf you wish to add the signoff to the commit message on your every commit\nwithout the need to specify -s or --signoff, rename\n.git/hooks/commit-msg.sample to .git/hooks/commit-msg and uncomment the lines:\n\n``` sh\nSOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\\(.*\u003e\\).*$/Signed-off-by: \\1/p')\ngrep -qs \"^$SOB\" \"$1\" || echo \"$SOB\" \u003e\u003e \"$1\"\n```\n\nDeveloper's Certificate of Origin\n---------------------------------\n\nTo help track the author of a patch as well as the submission chain,\nand be clear that the developer has authority to submit a patch for\ninclusion into this project please sign off your work.  The sign off\ncertifies the following:\n\n    Developer's Certificate of Origin 1.1\n\n    By making a contribution to the project, I certify that:\n\n    (a) The contribution was created in whole or in part by me and I\n        have the right to submit it under the open source license\n        indicated in the file; or\n\n    (b) The contribution is based upon previous work that, to the best\n        of my knowledge, is covered under an appropriate open source\n        license and I have the right under that license to submit that\n        work with modifications, whether created in whole or in part\n        by me, under the same open source license (unless I am\n        permitted to submit under a different license), as indicated\n        in the file; or\n\n    (c) The contribution was provided directly to me by some other\n        person who certified (a), (b) or (c) and I have not modified\n        it.\n\n    (d) I understand and agree that this project and the contribution\n        are public and that a record of the contribution (including all\n        personal information I submit with it, including my sign-off) is\n        maintained indefinitely and may be redistributed consistent with\n        this project or the open source license(s) involved.\n\n    (e) I hereby grant to the project, SysGears, LLC and its successors;\n        and recipients of software distributed by the Project a perpetual,\n        worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n        copyright license to reproduce, modify, prepare derivative works of,\n        publicly display, publicly perform, sublicense, and distribute this\n        contribution and such modifications and derivative works consistent\n        with this Project, the open source license indicated in the previous\n        work or other appropriate open source license specified by the Project\n        and approved by the Open Source Initiative(OSI)\n        at http://www.opensource.org.\n\nLicense\n=======\n\nGrain Gradle plugin is licensed under the terms of the [Apache License, Version 2.0][Apache License, Version 2.0].\n\n[Grain]: http://sysgears.com/grain/\n[Grain themes]: http://sysgears.com/grain/themes/\n[Theme Template]: http://sysgears.com/grain/themes/template/\n[Apache License, Version 2.0]: http://www.apache.org/licenses/LICENSE-2.0.html\n[Developer Certificate of Origin]: https://raw.github.com/sysgears/grain/master/DCO\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsysgears%2Fgrain-gradle-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsysgears%2Fgrain-gradle-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsysgears%2Fgrain-gradle-plugin/lists"}