{"id":37904351,"url":"https://github.com/loadingio/ldscroll","last_synced_at":"2026-01-16T17:08:22.657Z","repository":{"id":57289873,"uuid":"324089005","full_name":"loadingio/ldscroll","owner":"loadingio","description":null,"archived":false,"fork":false,"pushed_at":"2022-01-19T13:32:43.000Z","size":806,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-12T11:23:16.300Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/loadingio.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-24T06:56:05.000Z","updated_at":"2024-05-12T12:53:47.000Z","dependencies_parsed_at":"2022-08-25T07:40:43.784Z","dependency_job_id":null,"html_url":"https://github.com/loadingio/ldscroll","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/loadingio/ldscroll","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loadingio%2Fldscroll","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loadingio%2Fldscroll/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loadingio%2Fldscroll/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loadingio%2Fldscroll/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/loadingio","download_url":"https://codeload.github.com/loadingio/ldscroll/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loadingio%2Fldscroll/sbom","scorecard":{"id":596475,"data":{"date":"2025-08-11","repo":{"name":"github.com/loadingio/ldscroll","commit":"4f7d5e67cfda61a232434bf4bf8b2b8c82bc82a2"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.2,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/12 approved changesets -- score normalized to 0","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":"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":"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":"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":"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":"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":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"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":"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":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"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":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v1.0.1 not signed: https://api.github.com/repos/loadingio/ldscroll/releases/57466782","Warn: release artifact v1.0.0 not signed: https://api.github.com/repos/loadingio/ldscroll/releases/57464939","Warn: release artifact v0.1.0 not signed: https://api.github.com/repos/loadingio/ldscroll/releases/35704828","Warn: release artifact v0.0.3 not signed: https://api.github.com/repos/loadingio/ldscroll/releases/35701683","Warn: release artifact v0.0.2 not signed: https://api.github.com/repos/loadingio/ldscroll/releases/35698841","Warn: release artifact v1.0.1 does not have provenance: https://api.github.com/repos/loadingio/ldscroll/releases/57466782","Warn: release artifact v1.0.0 does not have provenance: https://api.github.com/repos/loadingio/ldscroll/releases/57464939","Warn: release artifact v0.1.0 does not have provenance: https://api.github.com/repos/loadingio/ldscroll/releases/35704828","Warn: release artifact v0.0.3 does not have provenance: https://api.github.com/repos/loadingio/ldscroll/releases/35701683","Warn: release artifact v0.0.2 does not have provenance: https://api.github.com/repos/loadingio/ldscroll/releases/35698841"],"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":"Vulnerabilities","score":0,"reason":"29 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-qwcr-r2fm-qrc7","Warn: Project is vulnerable to: GHSA-vc8w-jr9v-vj7f","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-x9w5-v3q2-3rhw","Warn: Project is vulnerable to: GHSA-wg6g-ppvx-927h","Warn: Project is vulnerable to: GHSA-pxg6-pf52-xh8x","Warn: Project is vulnerable to: GHSA-w573-4hg7-7wgq","Warn: Project is vulnerable to: GHSA-434g-2637-qmqr","Warn: Project is vulnerable to: GHSA-49q7-c7j4-3p7m","Warn: Project is vulnerable to: GHSA-977x-g7h5-7qgw","Warn: Project is vulnerable to: GHSA-f7q4-pwc6-w24p","Warn: Project is vulnerable to: GHSA-fc9h-whq2-v747","Warn: Project is vulnerable to: GHSA-vjh7-7g9h-fjfh","Warn: Project is vulnerable to: GHSA-rv95-896h-c2vc","Warn: Project is vulnerable to: GHSA-qw6h-vgh9-j6wx","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-9wv6-86v2-598j","Warn: Project is vulnerable to: GHSA-rhx6-c78j-4q9w","Warn: Project is vulnerable to: GHSA-h7cp-r72f-jxh6","Warn: Project is vulnerable to: GHSA-v62p-rq8g-8h59","Warn: Project is vulnerable to: GHSA-3965-hpx2-q597","Warn: Project is vulnerable to: GHSA-hrpp-h998-j3pp","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-m6fv-jmcg-4jfg","Warn: Project is vulnerable to: GHSA-cm22-4g7w-348p","Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7"],"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-20T23:15:47.298Z","repository_id":57289873,"created_at":"2025-08-20T23:15:47.299Z","updated_at":"2025-08-20T23:15:47.299Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28480081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"2026-01-16T17:08:18.656Z","updated_at":"2026-01-16T17:08:22.649Z","avatar_url":"https://github.com/loadingio.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ldscroll\n\nlibrary for visibility and position tracking.\n\n\n## Usage\n\n    s = new ldscroll({root: ...});\n    s.add([...]);\n    s.on(\"change\", function(list) { ... });\n\n\n## Options\n\n - `root` - root element where ldscroll works. Can be either selector or a DOM node.\n - `nodes` - Array of elements / nodes to watch. Item can be selector or DOM node.\n - `trackOutsideView` - should nodes being tracking when outside viewport. default true.\n\n\n## API\n\n - `getVisible()` - get data for all visible nodes.\n - `add(list)` - add elements in list to ldscroll. format the same as option `nodes`.\n - `on(name, cb)` - watch event `name` and handle it with callback function `cb`. Available names as follow:\n  - `change` - when ldscroll data for some elements are changed. changed ldscroll objects passed as callback param.\n\n## ldscroll data\n\nldscroll data passed in `change` event is as follow:\n\n - `node`: owner element\n - `yt`: distance from top of the screen, for top edge of node. 0 = top, 1 = bottom.\n - `yb`: distance from top of the screen, for bottom edge of node. 0 = top, 1 = bottom.\n - `yp`: percentage going through the whole block.\n   - 0: block top align with viewport top\n   - 1: block bottom align with viewport bottom\n   - values proportional to block height when `yp` \u003c 0 or `yp` \u003e 1 ( 3 = 300% )\n - `progress`: similar to `yp`, but also handle boundary condition:\n   - -1: block top align with viewport bottom ( entering )\n   - 0: block top align with viewport top ( entered )\n   - 1: block bottom align with viewport bottom (exiting )\n   - 2: block bottom align with viewport top ( exited )\n   - for `progress` \u003e 2 or \u003c -1, values are proportional to viewport. ( 3 = 3vh )\n\nThese values are a little complicated but just memorize them with these rules for `progress`:\n\n                    1vh         0%       100%       1vh\n    before entering  / entering / entered / exiting / after exiting\n    ........        -1          0         1         2     .........\n\n\n## License\n\nMIT\n\n# ldscroll\n\nthis is the repo for considering making a IntersectionObserver for both visibility checking and parallex effect. Not sure if we have to do this since there are already lots of parallex lib, and visibility check is just an one liner.\n\n * visible ( event )\n  (new IntersectionObserver (-\u003e if it.0 and it.0.isVisible =\u003e ... ), {}).observe(node)\n\n * scrolling ( percent )  for parallex \n   - intersectionObserver -\u003e visible? -\u003e add onScroll monitor\n                          -\u003e invisible? -\u003e remove onScroll monitor\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floadingio%2Fldscroll","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Floadingio%2Fldscroll","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floadingio%2Fldscroll/lists"}