{"id":15587229,"url":"https://github.com/ukrbublik/grisel","last_synced_at":"2025-04-24T04:48:29.369Z","repository":{"id":57254310,"uuid":"43089426","full_name":"ukrbublik/grisel","owner":"ukrbublik","description":"jQuery-based custom select control, represents options as paginated grid, features search and filter by first letter.","archived":false,"fork":false,"pushed_at":"2019-07-21T16:48:06.000Z","size":366,"stargazers_count":10,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-24T04:48:21.904Z","etag":null,"topics":["dropdown","front-end","jquery","popup","select","select-multiple","ui-components"],"latest_commit_sha":null,"homepage":"http://ukrbublik.github.io/grisel/demo/demo.html","language":"JavaScript","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/ukrbublik.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2015-09-24T19:51:49.000Z","updated_at":"2024-07-01T10:27:00.000Z","dependencies_parsed_at":"2022-08-31T02:01:38.566Z","dependency_job_id":null,"html_url":"https://github.com/ukrbublik/grisel","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ukrbublik%2Fgrisel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ukrbublik%2Fgrisel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ukrbublik%2Fgrisel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ukrbublik%2Fgrisel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ukrbublik","download_url":"https://codeload.github.com/ukrbublik/grisel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250566444,"owners_count":21451230,"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":["dropdown","front-end","jquery","popup","select","select-multiple","ui-components"],"created_at":"2024-10-02T22:01:01.671Z","updated_at":"2025-04-24T04:48:29.355Z","avatar_url":"https://github.com/ukrbublik.png","language":"JavaScript","readme":"# grisel\n\u003c!-- jQuery-based custom select control, represents options as paginated grid, features search and filter by first letter. --\u003e\n\n\u003cb\u003egrisel (GRId_SELect)\u003c/b\u003e is a custom multi- or single-select control (over standard \u0026lt;select\u0026gt;).\u003cbr\u003e\nRepresents options as paginated grid.\u003cbr\u003e\nFeatures search and filter by first letter.\u003cbr\u003e\nCustomizable. Has cool animations. Useful for big list of options.\u003cbr\u003e\nBuilt on top of jQuery.\n\n\u003c!--\n\u003ch3\u003eScreenshot:\u003c/h3\u003e\n\u003cimg src='http://i59.tinypic.com/v7qblx.png'  /\u003e\n--\u003e\n\n\u003ch3\u003eHow it looks:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://ukrbublik.github.io/grisel/demo/demo.html\"\u003eDemo\u003ca\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://dom-plus.ua/buy/flat/advanced#fs_street\"\u003eLive example\u003ca\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cimg src='http://fat.gfycat.com/DelightfulPoliteAardwolf.gif'  /\u003e\u003cbr\u003e\n\n\u003ch3\u003eGetting started:\u003c/h3\u003e\n1) Include this JS/CSS:\n\u003cpre\u003e\n\u003cscript src=\"vendor/jquery-1.11.3.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"vendor/jquery.easing.1.3.2.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"src/js/grisel.js\"\u003e\u003c/script\u003e\n\u003clink type=\"text/css\" rel=\"stylesheet\" href=\"src/css/grisel.css\" /\u003e\n\u003c/pre\u003e\n2) Add class \"grisel\" to \u0026lt;select\u0026gt;'s you want to convert.\u003cbr\u003e\n3) Customize options. Example:\n\u003cpre\u003e\n\u003cscript\u003e\ngrisel.defaultOptions = jQuery.extend(grisel.defaultOptions, {\n\t//options to override, see list below\n});\ngrisel.optionsBySelId = {\n\t's_street': {\n\t\t//options to override for select '#s_street' \n\t}\n};\ngrisel.optionsBySelClass = {\n\t//...\n};\ngrisel.defaultLang = 'en';\ngrisel.defaultStrings = jQuery.extend(grisel.defaultStrings, {\n\t'en': {\n\t\t//default strings in english\n\t}\n});\ngrisel.stringsBySelId = {\n\t's_street': {\n\t\t'en': {\n\t\t\t//strings for '#s_street' in english\n\t\t}\n\t},\n};\ngrisel.stringsBySelClass = {\n\t//...\n};\n\u003c/script\u003e\n\u003c/pre\u003e\nAlso you can override options for particular \u0026lt;select\u0026gt; by using \"data-*\". Example:\n\u003ccode\u003e\n \u0026lt;select class=\"grisel\" data-div-popup-width=\"500\"\u0026gt;...\u0026lt;/selec\u0026gt;\n\u003c/code\u003e\n\n\u003ch3\u003eNotes:\u003c/h3\u003e\nPopup can be in extended view (with search and filter by first char) or compact - see options isExt, minPagesForExt.\u003cbr\u003e\nOptions list can contain special \"any\"-option, to be able to select all/any values by one click (and send to server), see options anyVal, hideAny.\u003cbr\u003e\n\n\u003ch3\u003eOptions:\u003c/h3\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003cth\u003eKey\u003c/th\u003e\u003cth\u003eDescription\u003c/th\u003e\u003cth\u003eDefault value\u003c/th\u003e\u003c/tr\u003e\n\n\u003ctr\u003e\u003ctd colspan='3'\u003e\u003cb\u003eGeneral\u003c/b\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003egridRows\u003c/td\u003e\u003ctd\u003eNumber of options rows in grid\u003c/td\u003e\u003ctd\u003e5\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003egridColumns\u003c/td\u003e\u003ctd\u003eNumber of options columns in grid\u003c/td\u003e\u003ctd\u003e3\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eminPagesForExt\u003c/td\u003e\u003ctd\u003eIf list of options has pages \u0026gt;= this value, popup will be in extended view mode (with search and filter by first char)\u003c/td\u003e\u003ctd\u003e3\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eisExt\u003c/td\u003e\u003ctd\u003eShow popup in extended view mode?\u003cbr\u003e-1 for auto applying extended mode (by option minPagesForExt), 1/0 to force extended mode on/off\u003c/td\u003e\u003ctd\u003e-1\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eanyVal\u003c/td\u003e\u003ctd\u003eValue attribute of special \u0026lt;oprion\u0026gt; \"All values\" (or \"Any value\") (if there is one in options)\u003c/td\u003e\u003ctd\u003e'a-n-y'\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003ehideAny\u003c/td\u003e\u003ctd\u003eHide special \"any\"-option?\u003c/td\u003e\u003ctd\u003efalse\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003egridDirectionHorizontal\u003c/td\u003e\u003ctd\u003eHow options should be filled in grid?\u003cbr\u003e1 - fill items in left-to-right direction (horizontal) (in html group by rows), 0 - up-to-down direction (vertical) (in html group by cols)\u003c/td\u003e\u003ctd\u003efalse\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003euseRowsStyleForVerticalDirection\u003c/td\u003e\u003ctd\u003e1 - force group by rows (not cols) in html for vertical direction (to make all elements in one row having equal height)\u003cbr\u003e1 is highly recommended (also because of animation problems with cols)\u003c/td\u003e\u003ctd\u003etrue\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eopenOnHover\u003c/td\u003e\u003ctd\u003e1 - open popup by hover on selector, 0 - open by click\u003c/td\u003e\u003ctd\u003efalse\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eareInnerCtrlsFocuable\u003c/td\u003e\u003ctd\u003eAdd tabindex attribute for all controls (options, inputs, buttons) in popup?\u003c/td\u003e\u003ctd\u003efalse\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003emaxCntToShowListAsValStr\u003c/td\u003e\u003ctd\u003eFor example. When set to 4: for 5+ selected values selector text will be \"X values\", for 1-4 - \"valA, valB, valC, valD\", for 0 - one of allStr/anyStr/allStrDefault.\u003cbr\u003eWhen set to -1: always \"X values\"\u003c/td\u003e\u003ctd\u003e3\u003c/td\u003e\u003c/tr\u003e\n\n\u003ctr\u003e\u003ctd colspan='3'\u003e\u003cb\u003eShow/hide elements\u003c/b\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eshowPagesList\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\u003ctd\u003etrue\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eshowSearch\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\u003ctd\u003etrue\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eshowIndex\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\u003ctd\u003etrue\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eshowControls\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\u003ctd\u003etrue\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003ehidePageControlsWhenThereIsPageList\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\u003ctd\u003etrue\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eshowCtrlSaveSelection\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\u003ctd\u003etrue\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eshowCtrlShowSelection\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\u003ctd\u003etrue\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eshowCtrlGotoSelection\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\u003ctd\u003etrue\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eshowCtrlClearAll\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\u003ctd\u003etrue\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eshowCloseCross\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\u003ctd\u003etrue\u003c/td\u003e\u003c/tr\u003e\n\n\u003ctr\u003e\u003ctd colspan='3'\u003e\u003cb\u003eSizes\u003c/b\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003edivSelWidth\u003c/td\u003e\u003ctd\u003e-2 - equal to \u0026lt;select\u0026gt;'s width, -1 - equal to wrapper's width, 0 - auto, \u0026gt; 0 - concrete width\u003c/td\u003e\u003ctd\u003e0\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003edivSelHeight\u003c/td\u003e\u003ctd\u003e-2 - equal to \u0026lt;select\u0026gt;'s height, -1 - equal to wrapper's height, 0 - auto, \u0026gt; 0 - concrete height\u003c/td\u003e\u003ctd\u003e0\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003edivSelPaddingLeft\u003c/td\u003e\u003ctd\u003eLeft padding of selector's text, in px\u003c/td\u003e\u003ctd\u003e8\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003edivSelIsMultiline\u003c/td\u003e\u003ctd\u003eShow selector's text as multiline?\u003c/td\u003e\u003ctd\u003efalse\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003edivSelClasses\u003c/td\u003e\u003ctd\u003eOptional list of classes for selector divided by ' '\u003c/td\u003e\u003ctd\u003e''\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003edivPopupWidth\u003c/td\u003e\u003ctd\u003e-2 - equal to wrapper's width, -1 - equal to sel's width, 0 - auto, \u0026gt; 0 - concrete width\u003c/td\u003e\u003ctd\u003e0\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003edivPopupHeight\u003c/td\u003e\u003ctd\u003e0 - use css, \u0026gt; 0 - concrete height\u003c/td\u003e\u003ctd\u003e0\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003edivPopupLabelsMinWidth\u003c/td\u003e\u003ctd\u003eFor auto popup width - set min checkbox/radio's labels width\u003c/td\u003e\u003ctd\u003e0\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003edivPopupClasses\u003c/td\u003e\u003ctd\u003eOptional list of classes for popup win divided by ' '\u003c/td\u003e\u003ctd\u003e''\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003edivWrapperClasses\u003c/td\u003e\u003ctd\u003eOptional list of classes for selector's wrapper divided by ' '\u003c/td\u003e\u003ctd\u003e''\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003etryToKeepConstPopupHeight\u003c/td\u003e\u003ctd\u003eWhen page with long labels appeared, keep new bigger popup height for all other pages\u003c/td\u003e\u003ctd\u003etrue\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003ereserveForPopupHeight\u003c/td\u003e\u003ctd\u003eReserve (once) more height for popup (for case of appearing long labels at next pages), in px\u003c/td\u003e\u003ctd\u003e0\u003c/td\u003e\u003c/tr\u003e\n\n\u003ctr\u003e\u003ctd colspan='3'\u003e\u003cb\u003eAnimation\u003c/b\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eanimatePopupDuration\u003c/td\u003e\u003ctd\u003eDuration in ms for open \u0026 close animations\u003c/td\u003e\u003ctd\u003e[600, 400]\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eisElasticPopupAnimation\u003c/td\u003e\u003ctd\u003eIs animation elastic for open \u0026 close? If yes, some tricks will be applied for smoother animation\u003c/td\u003e\u003ctd\u003e[1, 0]\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eanimatePopupEasing\u003c/td\u003e\u003ctd\u003eEasing function names for open \u0026 close animations\u003c/td\u003e\u003ctd\u003e['easeOutElastic', 'easeInOutBack']\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eanimatePageDuration\u003c/td\u003e\u003ctd\u003eDuration of animation of switching pages\u003c/td\u003e\u003ctd\u003e150\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eanimatePageEasing\u003c/td\u003e\u003ctd\u003eEasing function name of animation of switching pages\u003c/td\u003e\u003ctd\u003e'swing'\u003c/td\u003e\u003c/tr\u003e\n\n\u003ctr\u003e\u003ctd colspan='3'\u003e\u003cb\u003e\"Legacy\" options (made for dom-plus.ua)\u003c/b\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eflushSearchStringAfterSelection\u003c/td\u003e\u003ctd\u003eWhen using search, clear search string after every selection\u003c/td\u003e\u003ctd\u003efalse\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eshowSelectedItemsWhenNoFound\u003c/td\u003e\u003ctd\u003eWhen using search and no options found, show selected items anyway\u003c/td\u003e\u003ctd\u003efalse\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eshowSelectedItemsFirst\u003c/td\u003e\u003ctd\u003eIn options list show selected items first, but after \"any\"-option\u003c/td\u003e\u003ctd\u003efalse\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003emaxSelectionLimit\u003c/td\u003e\u003ctd\u003eOnly for showSelectedItemsFirst==1. If count of selected items \u0026gt; this value, warning (see string \"maxSelectionMsg\") will be shown\u003c/td\u003e\u003ctd\u003e0\u003c/td\u003e\u003c/tr\u003e\n\n\u003c/table\u003e\n\n\u003ch3\u003eStrings:\u003c/h3\u003e\n\u003ctable\u003e\n\u003ctr\u003e\u003cth\u003eKey\u003c/th\u003e\u003cth\u003eDescription\u003c/th\u003e\u003cth\u003eDefault value for english\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eindexAll\u003c/td\u003e\u003ctd\u003eFirst button in index by first char, which clears filter by first char\u003c/td\u003e\u003ctd\u003e'All'\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003ectrlSaveSelection\u003c/td\u003e\u003ctd\u003eButton that closes popup, like 'X' at bottom-right\u003c/td\u003e\u003ctd\u003e'Save'\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003ectrlGotoSelection\u003c/td\u003e\u003ctd\u003eButton to goto page with selected option (for single-select)\u003c/td\u003e\u003ctd\u003e'Go to selected'\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003ectrlShowSelection\u003c/td\u003e\u003ctd\u003eButton to show only selected options\u003c/td\u003e\u003ctd\u003e'Show selected'\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003ectrlClearAll\u003c/td\u003e\u003ctd\u003eButton to clear selection. First for multi-select, second for single-select\u003c/td\u003e\u003ctd\u003e['Clear all', 'Clear selection']\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eallStr\u003c/td\u003e\u003ctd\u003eSelector text when all options are selected, for overriding in 'stringsBySelId', 'stringsBySelClass'\u003c/td\u003e\u003ctd\u003e''\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eallStrDefault\u003c/td\u003e\u003ctd\u003eDefault selector text when all options are selected. First for multi-select, second for single-select\u003c/td\u003e\u003ctd\u003e['All', 'Any']\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003enoSelectionMsg\u003c/td\u003e\u003ctd\u003eText when no option is selected. Only for option hideAny == 1\u003c/td\u003e\u003ctd\u003e'No selected'\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003enoResultsMsg\u003c/td\u003e\u003ctd\u003eText when filter gaven't any results\u003c/td\u003e\u003ctd\u003e'Nothing found'\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003einputPlaceholder\u003c/td\u003e\u003ctd\u003ePlaceholder text for search input\u003c/td\u003e\u003ctd\u003e'Enter a name'\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003ecntFmt\u003c/td\u003e\u003ctd\u003eTemplate to format selector text\u003c/td\u003e\u003ctd\u003e'{cnt} {cnt_name}'\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003ecntNames\u003c/td\u003e\u003ctd\u003eDeclensions of word 'value': for english - [singular, plural, plural], for russian - [ед.им., ед.род., мн.род.]\u003c/td\u003e\u003ctd\u003e['value', 'values', 'values']\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003emaxSelectionMsg\u003c/td\u003e\u003ctd\u003eOnly for option maxSelectionLimit \u0026gt; 0 (\"legacy\").\u003cbr\u003eWarning text when count of selected items \u0026gt; maxSelectionLimit\u003c/td\u003e\u003ctd\u003e'You reached max number of selected elements.\u0026lt;br\u0026gt;Please save your selection'\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003ch3\u003eExamples:\u003c/h3\u003e\nSee demo.html\n\n\u003ch3\u003eBrowsers support:\u003c/h3\u003e\nRequires browser with CSS3 support (for flex).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fukrbublik%2Fgrisel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fukrbublik%2Fgrisel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fukrbublik%2Fgrisel/lists"}