{"id":13682869,"url":"https://github.com/rstacruz/sparkup","last_synced_at":"2025-05-15T13:07:42.936Z","repository":{"id":691637,"uuid":"335861","full_name":"rstacruz/sparkup","owner":"rstacruz","description":"A parser for a condensed HTML format","archived":false,"fork":false,"pushed_at":"2024-07-26T14:13:39.000Z","size":229,"stargazers_count":1562,"open_issues_count":33,"forks_count":145,"subscribers_count":37,"default_branch":"master","last_synced_at":"2025-04-11T22:33:17.320Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","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/rstacruz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"mit-license.txt","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":"2009-10-13T10:20:28.000Z","updated_at":"2025-04-06T03:12:52.000Z","dependencies_parsed_at":"2024-08-02T13:22:56.284Z","dependency_job_id":"7ce2cafe-24f6-485c-90f5-7c6e512e3731","html_url":"https://github.com/rstacruz/sparkup","commit_stats":{"total_commits":115,"total_committers":26,"mean_commits":4.423076923076923,"dds":0.6608695652173913,"last_synced_commit":"d400a570bf64b0c216aa7c8e1795820b911a7404"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rstacruz%2Fsparkup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rstacruz%2Fsparkup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rstacruz%2Fsparkup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rstacruz%2Fsparkup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rstacruz","download_url":"https://codeload.github.com/rstacruz/sparkup/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254346624,"owners_count":22055808,"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-08-02T13:01:54.657Z","updated_at":"2025-05-15T13:07:42.519Z","avatar_url":"https://github.com/rstacruz.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"Sparkup\n=======\n\n**Sparkup lets you write HTML code faster.** Don't believe us?\n[See it in action!](http://www.youtube.com/watch?v=Jw3jipcenKc)\n\nFixed by Zhao:\nThis is a fork of original version. This version support both python 2 and 3.\n\nYou can write HTML in a CSS-like syntax, and have Sparkup handle the expansion to full HTML\ncode. It is meant to help you write long HTML blocks in your text editor by letting you\ntype less characters than needed.\n\nSparkup is written in Python, and requires Python 2.5 or newer (2.5 is preinstalled in \nMac OS X Leopard). Sparkup also offers integration into common text editors. Support for VIM\nand TextMate are currently included.\n\nA short screencast is available here: \n[http://www.youtube.com/watch?v=Jw3jipcenKc](http://www.youtube.com/watch?v=Jw3jipcenKc)\n\nUsage and installation\n----------------------\nYou may download Sparkup from GitHub. [Download the latest version here](http://github.com/rstacruz/sparkup/downloads).\n\n - **TextMate**: Simply double-click on the `Sparkup.tmbundle` package in Finder. This\n   will install it automatically. In TextMate, open an HTML file (or set the document type to\n   HTML) type in something (e.g., `#header \u003e h1`), then press `Ctrl` + `E`. Pressing `Tab`\n   will cycle through empty elements.\n\n - **VIM**: See the `vim/README.txt` file for installation. In VIM,\n   create or open an HTML file (or set the filetype to ``html``), type in something (e.g.\n   `#header \u003e h1`), then press `\u003cC-E\u003e` whilst in **insert mode** to expand to HTML.\n   Pressing `\u003cC-n\u003e`  will cycle through empty elements.  Variables specified in \n   `vim/README.txt` can be used to customise key mappings, and to add **normal mode** mappings\n   as well.\n\n - **Others/command line use**: You may put `sparkup` in your `$PATH` somewhere. You may then\n   invoke it by typing `echo \"(input here)\" | sparkup`, or `sparkup --help` for a list of commands.\n\nCredits\n-------\n\nSparkup is written by Rico Sta. Cruz and is released under the MIT license.\n\nThis project is inspired by [Zen Coding](http://code.google.com/p/zen-coding/) of\n[Vadim Makeev](http://pepelsbey.net). The Zen HTML syntax is forward-compatible with Sparkup\n(anything that Zen HTML can parse, Sparkup can too).\n\nThe following people have contributed code to the project:\n\n - Guillermo O. Freschi (Tordek @ GitHub)\n   Bugfixes to the parsing system\n\n - Eric Van Dewoestine (ervandew @ GitHub)\n   Improvements to the VIM plugin\n\nExamples\n--------\n\n**`div`** expands to:\n\n```html\n\u003cdiv\u003e\u003c/div\u003e\n```\n\n**`div#header`** expands to:\n\n```html\n    \u003cdiv id=\"header\"\u003e\u003c/div\u003e\n```\n\n**`div.align-left#header`** expands to:\n\n```html\n    \u003cdiv id=\"header\" class=\"align-left\"\u003e\u003c/div\u003e\n```\n\n**`div#header + div#footer`** expands to:\n\n```html\n    \u003cdiv id=\"header\"\u003e\u003c/div\u003e\n    \u003cdiv id=\"footer\"\u003e\u003c/div\u003e\n```\n\n**`#menu \u003e ul`** expands to:\n\n```html\n    \u003cdiv id=\"menu\"\u003e\n        \u003cul\u003e\u003c/ul\u003e\n    \u003c/div\u003e\n```\n\n**`#menu \u003e h3 + ul`** expands to:\n\n```html\n    \u003cdiv id=\"menu\"\u003e\n        \u003ch3\u003e\u003c/h3\u003e\n        \u003cul\u003e\u003c/ul\u003e\n    \u003c/div\u003e\n```\n\n**`#header \u003e h1{Welcome to our site}`** expands to:\n\n```html\n    \u003cdiv id=\"header\"\u003e\n        \u003ch1\u003eWelcome to our site\u003c/h1\u003e\n    \u003c/div\u003e\n```\n\n**`a[href=index.html]{Home}`** expands to:\n\n```html\n    \u003ca href=\"index.html\"\u003eHome\u003c/a\u003e\n```\n\n**`ul \u003e li*3`** expands to:\n\n```html\n    \u003cul\u003e\n        \u003cli\u003e\u003c/li\u003e\n        \u003cli\u003e\u003c/li\u003e\n        \u003cli\u003e\u003c/li\u003e\n    \u003c/ul\u003e\n```\n\n**`ul \u003e li.item-$*3`** expands to:\n\n```html\n    \u003cul\u003e\n        \u003cli class=\"item-1\"\u003e\u003c/li\u003e\n        \u003cli class=\"item-2\"\u003e\u003c/li\u003e\n        \u003cli class=\"item-3\"\u003e\u003c/li\u003e\n    \u003c/ul\u003e\n```\n\n**`ul \u003e li.item-$*3 \u003e strong`** expands to:\n\n```html\n    \u003cul\u003e\n        \u003cli class=\"item-1\"\u003e\u003cstrong\u003e\u003c/strong\u003e\u003c/li\u003e\n        \u003cli class=\"item-2\"\u003e\u003cstrong\u003e\u003c/strong\u003e\u003c/li\u003e\n        \u003cli class=\"item-3\"\u003e\u003cstrong\u003e\u003c/strong\u003e\u003c/li\u003e\n    \u003c/ul\u003e\n```\n\n**`table \u003e tr*2 \u003e td.name + td*3`** expands to:\n\n```html\n    \u003ctable\u003e\n        \u003ctr\u003e\n            \u003ctd class=\"name\"\u003e\u003c/td\u003e\n            \u003ctd\u003e\u003c/td\u003e\n            \u003ctd\u003e\u003c/td\u003e\n            \u003ctd\u003e\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd class=\"name\"\u003e\u003c/td\u003e\n            \u003ctd\u003e\u003c/td\u003e\n            \u003ctd\u003e\u003c/td\u003e\n            \u003ctd\u003e\u003c/td\u003e\n        \u003c/tr\u003e\n    \u003c/table\u003e\n```\n\n**`#header \u003e ul \u003e li \u003c p{Footer}`** expands to:\n\n```html\n    \u003c!-- The \u003c symbol goes back up the parent; i.e., the opposite of \u003e. --\u003e\n    \u003cdiv id=\"header\"\u003e\n        \u003cul\u003e\n            \u003cli\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n        \u003cp\u003eFooter\u003c/p\u003e\n    \u003c/div\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frstacruz%2Fsparkup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frstacruz%2Fsparkup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frstacruz%2Fsparkup/lists"}