{"id":13746836,"url":"https://github.com/jerrylow/basictable","last_synced_at":"2026-02-22T11:33:53.889Z","repository":{"id":21300254,"uuid":"24616539","full_name":"jerrylow/basictable","owner":"jerrylow","description":"Basic Table jQuery or Vanilla JS plugin for simple responsive tables.","archived":false,"fork":false,"pushed_at":"2025-09-23T20:06:47.000Z","size":216,"stargazers_count":128,"open_issues_count":6,"forks_count":57,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-09-23T22:09:38.952Z","etag":null,"topics":["breakpoint","jquery","jquery-plugin","table","vanilla-js","vanillajs"],"latest_commit_sha":null,"homepage":"","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/jerrylow.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-09-29T23:12:25.000Z","updated_at":"2025-09-23T20:06:44.000Z","dependencies_parsed_at":"2024-01-13T01:40:05.884Z","dependency_job_id":"b105bbd6-4e81-4e9e-86dc-24469aa006fc","html_url":"https://github.com/jerrylow/basictable","commit_stats":{"total_commits":49,"total_committers":5,"mean_commits":9.8,"dds":0.2857142857142857,"last_synced_commit":"7573bbe82c2b2c7f21ac9a5b690c937da43192b9"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/jerrylow/basictable","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerrylow%2Fbasictable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerrylow%2Fbasictable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerrylow%2Fbasictable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerrylow%2Fbasictable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jerrylow","download_url":"https://codeload.github.com/jerrylow/basictable/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerrylow%2Fbasictable/sbom","scorecard":{"id":516163,"data":{"date":"2025-08-11","repo":{"name":"github.com/jerrylow/basictable","commit":"c6c5f30089ed5b887594b626e0453b1c0042a7be"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.9,"checks":[{"name":"Code-Review","score":1,"reason":"Found 1/7 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 24 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":8,"reason":"2 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-20T01:52:41.911Z","repository_id":21300254,"created_at":"2025-08-20T01:52:41.911Z","updated_at":"2025-08-20T01:52:41.911Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280451268,"owners_count":26333078,"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-22T02:00:06.515Z","response_time":63,"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":["breakpoint","jquery","jquery-plugin","table","vanilla-js","vanillajs"],"created_at":"2024-08-03T06:01:02.653Z","updated_at":"2025-10-22T14:43:04.162Z","avatar_url":"https://github.com/jerrylow.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# Basic Table\n\nA simple lightweight jQuery or Vanilla JS responsive table library. A library to setup tables for a basic responsive table stucture. Utilizing the techniques of http://css-tricks.com/responsive-data-tables/. This is to assists in those situations where the users don't necessarily have access or capacity to modify HTML such as input from a WYSIWYG.\n\n**[View Demo (jQuery)](http://www.jerrylow.com/basictable/demo/index.html)**\n\n**[View Demo (Vanilla JS)](http://www.jerrylow.com/basictable/demo/vanilla-js.html)**\n\n## jQuery User Notes for 2.0.0\n\nThe jQuery version remains the same as 1.0.0. While the source remains unchanged there are three things to note when upgrading:\n\n- Distribution files are no longer in the root directory, they've moved to `/dist/js/jquery.basictable.js` and `/dist/js/jquery.basictable.min.js`,\n- The non-minified version is now a beautified version rather than the source file, and\n- The minified version is no longer compressed with uglifyjs, it's compressed using Tercer.\n\nThese changes should have no impact on the way it functions in comparison with 1.x.\n\n## Getting Started\n\n### jQuery\n\nInclude the CSS and jQuery library in the `\u003chead\u003e` of your page.\n\n```\n\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"basictable.min.css\" /\u003e\n\n\u003cscript src=\"jquery.min.js\"\u003e\u003c/script\u003e\n\u003cscript type=\"text/javascript\" src=\"jquery.basictable.min.js\"\u003e\u003c/script\u003e\n```\n\nInitiate on any table(s) with:\n\n```\n$('table').basictable();\n```\n\n### Vanilla JS\n\nInclude the CSS and basictable library in the `\u003chead\u003e` of your page.\n\n```\n\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"basictable.min.css\" /\u003e\n\n\u003cscript type=\"text/javascript\" src=\"basictable.min.js\"\u003e\u003c/script\u003e\n```\n\nInitiate on any table(s) with:\n\n```\nnew basictable('table');\n```\n\n## Options\n\nOptions are applicable to both the jQuery and Vanilla JS.\n\n### breakpoint\n\n`integer` `default: null`\n\nDefine the breakpoint (viewport's width) when the table will engage in responsive mode. If the `containerBreakpoint` is `null` (which is the default) the value will be 568px.\n\n### containerBreakpoint\n\n`integer` `default: null`\n\nDefine the breakpoint of the table's container when the table will engage in responsive mode.\n\n### contentWrap\n\n`boolean` `default: true`\n\nWraps the original content within the cell in a span with class .bt-content, to help with CSS selection.\n\n### forceResponsive\n\n`boolean` `default: true`\n\nThe library will always force the table into responsive mode once the breakpoint is met. If this is set to false the table will only change mode when the table itself is larger than its immediate parent's inner width.\n\n### noResize\n\n`boolean` `default: false`\n\nDisable Basic Table's JS resize. The table won't engage in responsive mode unless media query or another resize bind outside of Basic Table is defined.\n\n### tableWrap\n\n`boolean` `default: false`\n\nWhen the library is initialize create a div wrapper around the table with class .bt-wrapper. This wrapper will toggle an active class when the table mode changes.\n\n### showEmptyCells\n\n`boolean` `default: false`\n\nWhen true, empty cells will be shown.\n\n### header\n\n`boolean` `default: true`\n\nSet to false if table does not have a header row. Table will just be responsive with table body and optional footer.\n\n## Methods (jQuery)\n\n### start\n\nEngage the table in responsive mode. This method can only run after the table has been initialized.\n\n```js\n$('table').basictable('start');\n```\n\n### stop\n\nToggle the table back to normal mode, removing the responsive look. This does not destory the Basic Table data and wrappers. The table will still work once the breakpoint is met.\n\n```js\n$('table').basictable('stop');\n```\n\n### destroy\n\nDestroy the the responsive bind on the table. This will remove all data and generated wrappers from the table, returning it to its initial state.\n\n```js\n$('table').basictable('destroy');\n```\n\n### restart\n\nRun `destroy`, `setup` then `check` without resetting the table data. Run this if the table dynamically updates.\n\n```js\n$('table').basictable('restart');\n```\n\n## Methods (Vanilla JS)\n\nMethods demonstrated assuming you've defined the object as `table`.\n\n```\nconst table = new basictable('.table');\n```\n\n### start\n\nEngage the table in responsive mode. This method can only run after the table has been initialized.\n\n```js\ntable.start();\n```\n\n### stop\n\nToggle the table back to normal mode, removing the responsive look. This does not destory the Basic Table data and wrappers. The table will still work once the breakpoint is met.\n\n```js\ntable.stop();\n```\n\n### destroy\n\nDestroy the the responsive bind on the table. This will remove all data and generated wrappers from the table, returning it to its initial state.\n\n```js\ntable.destroy();\n```\n\n### restart\n\nRun `destroy`, `setup` then `check` without resetting the table data. Run this if the table dynamically updates.\n\n```js\ntable.restart();\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjerrylow%2Fbasictable","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjerrylow%2Fbasictable","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjerrylow%2Fbasictable/lists"}