{"id":20145983,"url":"https://github.com/usagi/cinnamonroll","last_synced_at":"2025-10-05T09:57:09.873Z","repository":{"id":2822576,"uuid":"3824603","full_name":"usagi/cinnamonroll","owner":"usagi","description":"This is the tool for the CSS that decompiling/compiling to the \".cinnamonroll\"/\".css\" type, wrinte in the haskell use with the Parsec library.","archived":false,"fork":false,"pushed_at":"2015-10-08T05:12:01.000Z","size":134,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-05T09:57:08.131Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Haskell","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/usagi.png","metadata":{"files":{"readme":"README.html","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":"2012-03-25T14:10:08.000Z","updated_at":"2017-10-25T17:48:17.000Z","dependencies_parsed_at":"2022-08-26T06:53:37.371Z","dependency_job_id":null,"html_url":"https://github.com/usagi/cinnamonroll","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/usagi/cinnamonroll","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usagi%2Fcinnamonroll","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usagi%2Fcinnamonroll/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usagi%2Fcinnamonroll/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usagi%2Fcinnamonroll/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/usagi","download_url":"https://codeload.github.com/usagi/cinnamonroll/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usagi%2Fcinnamonroll/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278437950,"owners_count":25986760,"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-10-05T02:00:06.059Z","response_time":54,"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-11-13T22:19:06.511Z","updated_at":"2025-10-05T09:57:09.858Z","avatar_url":"https://github.com/usagi.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 id=\"cinnamonroll\"\u003ecinnamonroll\u003c/h1\u003e\n\u003ch2 id=\"whats-this\"\u003eWhat's this ?\u003c/h2\u003e\n\u003cp\u003eThis is \u003cstrong\u003ethe tool for the CSS\u003c/strong\u003e that \u003cstrong\u003edecompiling/compiling\u003c/strong\u003e to the \u003cstrong\u003e\u0026quot;.cinnamonroll\u0026quot;\u003c/strong\u003e/\u0026quot;.css\u0026quot; type, wrinte in the \u003cem\u003ehaskell\u003c/em\u003e use with the \u003cem\u003eParsec library\u003c/em\u003e.\u003c/p\u003e\n\u003cp\u003eNotes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe cinnamonroll is the tool for writing/managing CSS to \u003cstrong\u003eeasy\u003c/strong\u003e for a human \u003cstrong\u003elike me\u003c/strong\u003e. :)\u003c/li\u003e\n\u003cli\u003eIt's not a validator.\n\u003cul\u003e\n\u003cli\u003every loose allowance for a CSS syntax.\u003c/li\u003e\n\u003cli\u003eparsing follow the \u0026quot;cinnamonroll rule\u0026quot;.\n\u003cul\u003e\n\u003cli\u003ethe top level of a CSS has cinnamonroll blocks.\u003c/li\u003e\n\u003cli\u003ethe second level of a CSS has selector blocks.\u003c/li\u003e\n\u003cli\u003ethe third level of a CSS has property blocks.\u003c/li\u003e\n\u003cli\u003ethe character of '@' called \u0026quot;cinnamonroll\u0026quot;. :)\u003c/li\u003e\n\u003c/ul\u003e\u003c/li\u003e\n\u003c/ul\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"how-to-run-it\"\u003eHow to Run it\u003c/h3\u003e\n\u003cp\u003eIn the directory: src/cinnamonroll.lhs\u003c/p\u003e\n\u003cp\u003eIt's the command line tool writen in literate haskell.\u003c/p\u003e\n\u003ch4 id=\"usage-for-an-instant\"\u003eUsage for an instant\u003c/h4\u003e\n\u003cp\u003eDecompile to .cinnamonroll from .css\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e% ./cinnamonroll.lhs -d source.css\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eCompile to .css from .cinnamonroll\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e% ./cinnamonroll.lhs -c source.cinnamonroll\u003c/code\u003e\u003c/pre\u003e\n\u003ch4 id=\"build-and-install\"\u003eBuild and Install\u003c/h4\u003e\n\u003ch5 id=\"cabal\"\u003eCabal\u003c/h5\u003e\n\u003cpre\u003e\u003ccode\u003e% cabal clean\n% cabal configure\n% cabal build\n% cabal sdist\n% cd dist\n% cabal install cinnamonroll-A.B.C.tar.gz\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNote: A.B.C is the version number in \u0026quot;cinnamonroll-A.B.C.tar.gz\u0026quot; packaged file.\u003c/p\u003e\n\u003ch5 id=\"manually\"\u003eManually\u003c/h5\u003e\n\u003cpre\u003e\u003ccode\u003e% ghc cinnamonroll.lhs\n% ln -s `pwd`/cinnamonroll /usr/local/bin/cinnamonroll\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNote: you can install to the other path as you like.\u003c/p\u003e\n\u003ch4 id=\"requirement\"\u003eRequirement\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://www.haskell.org/ghc/\"\u003eGHC\u003c/a\u003e (\u0026gt;=7.4.1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"use-the-backend-library\"\u003eUse the backend library\u003c/h3\u003e\n\u003cp\u003eIn the directory: src/WRP/CSS.hs\u003c/p\u003e\n\u003cp\u003eThis is the library of the \u0026quot;WRP.CSS\u0026quot;. The command line tool require it. This is the entity of the software. You can use it if you need for a your haskell programs.\u003c/p\u003e\n\u003ch2 id=\"specification\"\u003eSpecification\u003c/h2\u003e\n\u003ch3 id=\"digest\"\u003eDigest\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavailable implements\n\u003cul\u003e\n\u003cli\u003ewrite with space indent match to a level of nest\u003c/li\u003e\n\u003cli\u003eomit comment blocks\u003c/li\u003e\n\u003c/ul\u003e\u003c/li\u003e\n\u003cli\u003eplaned feature\n\u003cul\u003e\n\u003cli\u003eoptimization options\u003c/li\u003e\n\u003c/ul\u003e\u003c/li\u003e\n\u003cli\u003eno plan\n\u003cul\u003e\n\u003cli\u003eno-omit comment blocks option\u003c/li\u003e\n\u003c/ul\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"cinnamonroll-1\"\u003e.cinnamonroll\u003c/h3\u003e\n\u003cp\u003e(Now Preparing)\u003c/p\u003e\n\u003ch2 id=\"licence\"\u003eLicence\u003c/h2\u003e\n\u003ch3 id=\"for-software\"\u003efor Software\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://www.opensource.org/licenses/mit-license\"\u003eMIT/X11\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"for-document\"\u003efor Document\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://creativecommons.org/licenses/by/2.1/jp/deed.en\"\u003eCC-BY/2.1(ja)\u003c/a\u003e\u003c/p\u003e\n\u003ch2 id=\"contact\"\u003eContact\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eGitHub : \u003ca href=\"https://github.com/usagi/cinnamonroll\"\u003eGitHub\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\n\u003cli\u003eWebsite : \u003ca href=\"http://www.WonderRabbitProject.net\"\u003eWonder Rabbit Project\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eE-Mail : \u003cscript type=\"text/javascript\"\u003e\n\u003c!--\nh='\u0026#x77;\u0026#x6f;\u0026#110;\u0026#100;\u0026#x65;\u0026#114;\u0026#114;\u0026#x61;\u0026#98;\u0026#98;\u0026#x69;\u0026#116;\u0026#112;\u0026#114;\u0026#x6f;\u0026#106;\u0026#x65;\u0026#x63;\u0026#116;\u0026#46;\u0026#110;\u0026#x65;\u0026#116;';a='\u0026#64;';n='\u0026#x75;\u0026#x73;\u0026#x61;\u0026#x67;\u0026#x69;';e=n+a+h;\ndocument.write('\u003ca h'+'ref'+'=\"ma'+'ilto'+':'+e+'\"\u003e'+'usagi@WonderRabbitProject.net'+'\u003c\\/'+'a'+'\u003e');\n// --\u003e\n\u003c/script\u003e\u003cnoscript\u003e\u0026#x75;\u0026#x73;\u0026#x61;\u0026#x67;\u0026#x69;\u0026#64;\u0026#x57;\u0026#x6f;\u0026#110;\u0026#100;\u0026#x65;\u0026#114;\u0026#82;\u0026#x61;\u0026#98;\u0026#98;\u0026#x69;\u0026#116;\u0026#80;\u0026#114;\u0026#x6f;\u0026#106;\u0026#x65;\u0026#x63;\u0026#116;\u0026#46;\u0026#110;\u0026#x65;\u0026#116;\u0026#32;\u0026#40;\u0026#x75;\u0026#x73;\u0026#x61;\u0026#x67;\u0026#x69;\u0026#32;\u0026#x61;\u0026#116;\u0026#32;\u0026#x77;\u0026#x6f;\u0026#110;\u0026#100;\u0026#x65;\u0026#114;\u0026#114;\u0026#x61;\u0026#98;\u0026#98;\u0026#x69;\u0026#116;\u0026#112;\u0026#114;\u0026#x6f;\u0026#106;\u0026#x65;\u0026#x63;\u0026#116;\u0026#32;\u0026#100;\u0026#x6f;\u0026#116;\u0026#32;\u0026#110;\u0026#x65;\u0026#116;\u0026#x29;\u003c/noscript\u003e\u003c/li\u003e\n\u003cli\u003eFacebook: \u003ca href=\"https://www.facebook.com/usagi.wrp\"\u003eusagi.wrp\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTwitter : \u003ca href=\"https://twitter.com/#!/USAGI_WRP\"\u003e@USAGI_WRP\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\n\u003c/ul\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fusagi%2Fcinnamonroll","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fusagi%2Fcinnamonroll","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fusagi%2Fcinnamonroll/lists"}