@devilsdev/rag-pipeline-utils 2.0.1 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/.eslintrc.json +24 -18
  2. package/.github/workflows/docs-deploy.yml +20 -10
  3. package/.github/workflows/publish-release-blog.yml +8 -6
  4. package/.github/workflows/storybook-deploy.yml +33 -0
  5. package/.storybook/main.js +20 -0
  6. package/.storybook/preview.js +13 -0
  7. package/CHANGELOG.md +15 -0
  8. package/README.md +1 -1
  9. package/docs-site/.plaiceholder-cache/img_hero.jpg.json +1 -0
  10. package/docs-site/.plaiceholder-cache/img_logo.png.json +1 -0
  11. package/docs-site/.storybook/preview.js +8 -0
  12. package/docs-site/blog/2025-04-17-release-v2.0.2.md +13 -0
  13. package/docs-site/blog/2025-04-18-architecture-overview.md +34 -0
  14. package/docs-site/blog/2025-04-18-release-v2.1.0.md +13 -0
  15. package/docs-site/blog/2025-04-19-prompt-engineering-best-practices.md +31 -0
  16. package/docs-site/blog/2025-04-20-image-showcase.md +23 -0
  17. package/docs-site/blog/authors.yml +2 -2
  18. package/docs-site/blog/tags.yml +22 -19
  19. package/docs-site/docs/Architecture.md +4 -4
  20. package/docs-site/docs/CLI.md +3 -3
  21. package/docs-site/docs/Evaluation.md +7 -7
  22. package/docs-site/docs/FAQ.md +6 -6
  23. package/docs-site/docs/Introduction.md +9 -9
  24. package/docs-site/docs/Plugins.md +3 -3
  25. package/docs-site/docs/Tutorials.md +106 -0
  26. package/docs-site/docs/Usage.md +5 -5
  27. package/docs-site/docs/Use-Cases.md +77 -0
  28. package/docs-site/docs/components/BlogCardExample.mdx +7 -0
  29. package/docs-site/docusaurus.config.js +3 -2
  30. package/docs-site/package-lock.json +487 -2
  31. package/docs-site/package.json +7 -3
  32. package/docs-site/scripts/generate-placeholders.js +17 -0
  33. package/docs-site/scripts/watch-images.js +40 -0
  34. package/docs-site/sidebar-snippet.txt +5 -0
  35. package/docs-site/sidebars.js +6 -1
  36. package/docs-site/src/components/BlogCard.jsx +31 -0
  37. package/docs-site/src/components/BlogCard.stories.jsx +34 -0
  38. package/docs-site/src/components/BlogImage.jsx +58 -0
  39. package/docs-site/src/components/BlogImage.stories.jsx +20 -0
  40. package/docs-site/static/img/authors/ali.jpg +0 -0
  41. package/docs-site/static/img/hero.jpg +0 -0
  42. package/docs-site/utils/image.js +19 -0
  43. package/package.json +19 -3
  44. package/src/stories/Button.jsx +39 -0
  45. package/src/stories/Button.stories.js +49 -0
  46. package/src/stories/Configure.mdx +364 -0
  47. package/src/stories/Header.jsx +56 -0
  48. package/src/stories/Header.stories.js +29 -0
  49. package/src/stories/Page.jsx +69 -0
  50. package/src/stories/Page.stories.js +28 -0
  51. package/src/stories/assets/accessibility.png +0 -0
  52. package/src/stories/assets/accessibility.svg +1 -0
  53. package/src/stories/assets/addon-library.png +0 -0
  54. package/src/stories/assets/assets.png +0 -0
  55. package/src/stories/assets/avif-test-image.avif +0 -0
  56. package/src/stories/assets/context.png +0 -0
  57. package/src/stories/assets/discord.svg +1 -0
  58. package/src/stories/assets/docs.png +0 -0
  59. package/src/stories/assets/figma-plugin.png +0 -0
  60. package/src/stories/assets/github.svg +1 -0
  61. package/src/stories/assets/share.png +0 -0
  62. package/src/stories/assets/styling.png +0 -0
  63. package/src/stories/assets/testing.png +0 -0
  64. package/src/stories/assets/theming.png +0 -0
  65. package/src/stories/assets/tutorials.svg +1 -0
  66. package/src/stories/assets/youtube.svg +1 -0
  67. package/src/stories/button.css +30 -0
  68. package/src/stories/header.css +32 -0
  69. package/src/stories/page.css +68 -0
  70. package/docs-site/docs/USE_CASES.md +0 -0
  71. /package/{USE_CASES.md → Use-Cases.md} +0 -0
@@ -8,15 +8,17 @@
8
8
  "name": "docs-site",
9
9
  "version": "0.0.0",
10
10
  "dependencies": {
11
- "@docusaurus/core": "3.7.0",
12
11
  "@docusaurus/preset-classic": "3.7.0",
13
12
  "@mdx-js/react": "^3.0.0",
14
13
  "clsx": "^2.0.0",
14
+ "plaiceholder": "^3.0.0",
15
15
  "prism-react-renderer": "^2.3.0",
16
16
  "react": "^19.0.0",
17
- "react-dom": "^19.0.0"
17
+ "react-dom": "^19.0.0",
18
+ "sharp": "^0.34.1"
18
19
  },
19
20
  "devDependencies": {
21
+ "@docusaurus/core": "^3.7.0",
20
22
  "@docusaurus/module-type-aliases": "3.7.0",
21
23
  "@docusaurus/types": "3.7.0"
22
24
  },
@@ -3786,6 +3788,16 @@
3786
3788
  "node": ">=18.0"
3787
3789
  }
3788
3790
  },
3791
+ "node_modules/@emnapi/runtime": {
3792
+ "version": "1.4.3",
3793
+ "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.3.tgz",
3794
+ "integrity": "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==",
3795
+ "license": "MIT",
3796
+ "optional": true,
3797
+ "dependencies": {
3798
+ "tslib": "^2.4.0"
3799
+ }
3800
+ },
3789
3801
  "node_modules/@hapi/hoek": {
3790
3802
  "version": "9.3.0",
3791
3803
  "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
@@ -3801,6 +3813,383 @@
3801
3813
  "@hapi/hoek": "^9.0.0"
3802
3814
  }
3803
3815
  },
3816
+ "node_modules/@img/sharp-darwin-arm64": {
3817
+ "version": "0.34.1",
3818
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.1.tgz",
3819
+ "integrity": "sha512-pn44xgBtgpEbZsu+lWf2KNb6OAf70X68k+yk69Ic2Xz11zHR/w24/U49XT7AeRwJ0Px+mhALhU5LPci1Aymk7A==",
3820
+ "cpu": [
3821
+ "arm64"
3822
+ ],
3823
+ "license": "Apache-2.0",
3824
+ "optional": true,
3825
+ "os": [
3826
+ "darwin"
3827
+ ],
3828
+ "engines": {
3829
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
3830
+ },
3831
+ "funding": {
3832
+ "url": "https://opencollective.com/libvips"
3833
+ },
3834
+ "optionalDependencies": {
3835
+ "@img/sharp-libvips-darwin-arm64": "1.1.0"
3836
+ }
3837
+ },
3838
+ "node_modules/@img/sharp-darwin-x64": {
3839
+ "version": "0.34.1",
3840
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.1.tgz",
3841
+ "integrity": "sha512-VfuYgG2r8BpYiOUN+BfYeFo69nP/MIwAtSJ7/Zpxc5QF3KS22z8Pvg3FkrSFJBPNQ7mmcUcYQFBmEQp7eu1F8Q==",
3842
+ "cpu": [
3843
+ "x64"
3844
+ ],
3845
+ "license": "Apache-2.0",
3846
+ "optional": true,
3847
+ "os": [
3848
+ "darwin"
3849
+ ],
3850
+ "engines": {
3851
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
3852
+ },
3853
+ "funding": {
3854
+ "url": "https://opencollective.com/libvips"
3855
+ },
3856
+ "optionalDependencies": {
3857
+ "@img/sharp-libvips-darwin-x64": "1.1.0"
3858
+ }
3859
+ },
3860
+ "node_modules/@img/sharp-libvips-darwin-arm64": {
3861
+ "version": "1.1.0",
3862
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.1.0.tgz",
3863
+ "integrity": "sha512-HZ/JUmPwrJSoM4DIQPv/BfNh9yrOA8tlBbqbLz4JZ5uew2+o22Ik+tHQJcih7QJuSa0zo5coHTfD5J8inqj9DA==",
3864
+ "cpu": [
3865
+ "arm64"
3866
+ ],
3867
+ "license": "LGPL-3.0-or-later",
3868
+ "optional": true,
3869
+ "os": [
3870
+ "darwin"
3871
+ ],
3872
+ "funding": {
3873
+ "url": "https://opencollective.com/libvips"
3874
+ }
3875
+ },
3876
+ "node_modules/@img/sharp-libvips-darwin-x64": {
3877
+ "version": "1.1.0",
3878
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.1.0.tgz",
3879
+ "integrity": "sha512-Xzc2ToEmHN+hfvsl9wja0RlnXEgpKNmftriQp6XzY/RaSfwD9th+MSh0WQKzUreLKKINb3afirxW7A0fz2YWuQ==",
3880
+ "cpu": [
3881
+ "x64"
3882
+ ],
3883
+ "license": "LGPL-3.0-or-later",
3884
+ "optional": true,
3885
+ "os": [
3886
+ "darwin"
3887
+ ],
3888
+ "funding": {
3889
+ "url": "https://opencollective.com/libvips"
3890
+ }
3891
+ },
3892
+ "node_modules/@img/sharp-libvips-linux-arm": {
3893
+ "version": "1.1.0",
3894
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.1.0.tgz",
3895
+ "integrity": "sha512-s8BAd0lwUIvYCJyRdFqvsj+BJIpDBSxs6ivrOPm/R7piTs5UIwY5OjXrP2bqXC9/moGsyRa37eYWYCOGVXxVrA==",
3896
+ "cpu": [
3897
+ "arm"
3898
+ ],
3899
+ "license": "LGPL-3.0-or-later",
3900
+ "optional": true,
3901
+ "os": [
3902
+ "linux"
3903
+ ],
3904
+ "funding": {
3905
+ "url": "https://opencollective.com/libvips"
3906
+ }
3907
+ },
3908
+ "node_modules/@img/sharp-libvips-linux-arm64": {
3909
+ "version": "1.1.0",
3910
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.1.0.tgz",
3911
+ "integrity": "sha512-IVfGJa7gjChDET1dK9SekxFFdflarnUB8PwW8aGwEoF3oAsSDuNUTYS+SKDOyOJxQyDC1aPFMuRYLoDInyV9Ew==",
3912
+ "cpu": [
3913
+ "arm64"
3914
+ ],
3915
+ "license": "LGPL-3.0-or-later",
3916
+ "optional": true,
3917
+ "os": [
3918
+ "linux"
3919
+ ],
3920
+ "funding": {
3921
+ "url": "https://opencollective.com/libvips"
3922
+ }
3923
+ },
3924
+ "node_modules/@img/sharp-libvips-linux-ppc64": {
3925
+ "version": "1.1.0",
3926
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.1.0.tgz",
3927
+ "integrity": "sha512-tiXxFZFbhnkWE2LA8oQj7KYR+bWBkiV2nilRldT7bqoEZ4HiDOcePr9wVDAZPi/Id5fT1oY9iGnDq20cwUz8lQ==",
3928
+ "cpu": [
3929
+ "ppc64"
3930
+ ],
3931
+ "license": "LGPL-3.0-or-later",
3932
+ "optional": true,
3933
+ "os": [
3934
+ "linux"
3935
+ ],
3936
+ "funding": {
3937
+ "url": "https://opencollective.com/libvips"
3938
+ }
3939
+ },
3940
+ "node_modules/@img/sharp-libvips-linux-s390x": {
3941
+ "version": "1.1.0",
3942
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.1.0.tgz",
3943
+ "integrity": "sha512-xukSwvhguw7COyzvmjydRb3x/09+21HykyapcZchiCUkTThEQEOMtBj9UhkaBRLuBrgLFzQ2wbxdeCCJW/jgJA==",
3944
+ "cpu": [
3945
+ "s390x"
3946
+ ],
3947
+ "license": "LGPL-3.0-or-later",
3948
+ "optional": true,
3949
+ "os": [
3950
+ "linux"
3951
+ ],
3952
+ "funding": {
3953
+ "url": "https://opencollective.com/libvips"
3954
+ }
3955
+ },
3956
+ "node_modules/@img/sharp-libvips-linux-x64": {
3957
+ "version": "1.1.0",
3958
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.1.0.tgz",
3959
+ "integrity": "sha512-yRj2+reB8iMg9W5sULM3S74jVS7zqSzHG3Ol/twnAAkAhnGQnpjj6e4ayUz7V+FpKypwgs82xbRdYtchTTUB+Q==",
3960
+ "cpu": [
3961
+ "x64"
3962
+ ],
3963
+ "license": "LGPL-3.0-or-later",
3964
+ "optional": true,
3965
+ "os": [
3966
+ "linux"
3967
+ ],
3968
+ "funding": {
3969
+ "url": "https://opencollective.com/libvips"
3970
+ }
3971
+ },
3972
+ "node_modules/@img/sharp-libvips-linuxmusl-arm64": {
3973
+ "version": "1.1.0",
3974
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.1.0.tgz",
3975
+ "integrity": "sha512-jYZdG+whg0MDK+q2COKbYidaqW/WTz0cc1E+tMAusiDygrM4ypmSCjOJPmFTvHHJ8j/6cAGyeDWZOsK06tP33w==",
3976
+ "cpu": [
3977
+ "arm64"
3978
+ ],
3979
+ "license": "LGPL-3.0-or-later",
3980
+ "optional": true,
3981
+ "os": [
3982
+ "linux"
3983
+ ],
3984
+ "funding": {
3985
+ "url": "https://opencollective.com/libvips"
3986
+ }
3987
+ },
3988
+ "node_modules/@img/sharp-libvips-linuxmusl-x64": {
3989
+ "version": "1.1.0",
3990
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.1.0.tgz",
3991
+ "integrity": "sha512-wK7SBdwrAiycjXdkPnGCPLjYb9lD4l6Ze2gSdAGVZrEL05AOUJESWU2lhlC+Ffn5/G+VKuSm6zzbQSzFX/P65A==",
3992
+ "cpu": [
3993
+ "x64"
3994
+ ],
3995
+ "license": "LGPL-3.0-or-later",
3996
+ "optional": true,
3997
+ "os": [
3998
+ "linux"
3999
+ ],
4000
+ "funding": {
4001
+ "url": "https://opencollective.com/libvips"
4002
+ }
4003
+ },
4004
+ "node_modules/@img/sharp-linux-arm": {
4005
+ "version": "0.34.1",
4006
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.1.tgz",
4007
+ "integrity": "sha512-anKiszvACti2sGy9CirTlNyk7BjjZPiML1jt2ZkTdcvpLU1YH6CXwRAZCA2UmRXnhiIftXQ7+Oh62Ji25W72jA==",
4008
+ "cpu": [
4009
+ "arm"
4010
+ ],
4011
+ "license": "Apache-2.0",
4012
+ "optional": true,
4013
+ "os": [
4014
+ "linux"
4015
+ ],
4016
+ "engines": {
4017
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
4018
+ },
4019
+ "funding": {
4020
+ "url": "https://opencollective.com/libvips"
4021
+ },
4022
+ "optionalDependencies": {
4023
+ "@img/sharp-libvips-linux-arm": "1.1.0"
4024
+ }
4025
+ },
4026
+ "node_modules/@img/sharp-linux-arm64": {
4027
+ "version": "0.34.1",
4028
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.1.tgz",
4029
+ "integrity": "sha512-kX2c+vbvaXC6vly1RDf/IWNXxrlxLNpBVWkdpRq5Ka7OOKj6nr66etKy2IENf6FtOgklkg9ZdGpEu9kwdlcwOQ==",
4030
+ "cpu": [
4031
+ "arm64"
4032
+ ],
4033
+ "license": "Apache-2.0",
4034
+ "optional": true,
4035
+ "os": [
4036
+ "linux"
4037
+ ],
4038
+ "engines": {
4039
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
4040
+ },
4041
+ "funding": {
4042
+ "url": "https://opencollective.com/libvips"
4043
+ },
4044
+ "optionalDependencies": {
4045
+ "@img/sharp-libvips-linux-arm64": "1.1.0"
4046
+ }
4047
+ },
4048
+ "node_modules/@img/sharp-linux-s390x": {
4049
+ "version": "0.34.1",
4050
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.1.tgz",
4051
+ "integrity": "sha512-7s0KX2tI9mZI2buRipKIw2X1ufdTeaRgwmRabt5bi9chYfhur+/C1OXg3TKg/eag1W+6CCWLVmSauV1owmRPxA==",
4052
+ "cpu": [
4053
+ "s390x"
4054
+ ],
4055
+ "license": "Apache-2.0",
4056
+ "optional": true,
4057
+ "os": [
4058
+ "linux"
4059
+ ],
4060
+ "engines": {
4061
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
4062
+ },
4063
+ "funding": {
4064
+ "url": "https://opencollective.com/libvips"
4065
+ },
4066
+ "optionalDependencies": {
4067
+ "@img/sharp-libvips-linux-s390x": "1.1.0"
4068
+ }
4069
+ },
4070
+ "node_modules/@img/sharp-linux-x64": {
4071
+ "version": "0.34.1",
4072
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.1.tgz",
4073
+ "integrity": "sha512-wExv7SH9nmoBW3Wr2gvQopX1k8q2g5V5Iag8Zk6AVENsjwd+3adjwxtp3Dcu2QhOXr8W9NusBU6XcQUohBZ5MA==",
4074
+ "cpu": [
4075
+ "x64"
4076
+ ],
4077
+ "license": "Apache-2.0",
4078
+ "optional": true,
4079
+ "os": [
4080
+ "linux"
4081
+ ],
4082
+ "engines": {
4083
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
4084
+ },
4085
+ "funding": {
4086
+ "url": "https://opencollective.com/libvips"
4087
+ },
4088
+ "optionalDependencies": {
4089
+ "@img/sharp-libvips-linux-x64": "1.1.0"
4090
+ }
4091
+ },
4092
+ "node_modules/@img/sharp-linuxmusl-arm64": {
4093
+ "version": "0.34.1",
4094
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.1.tgz",
4095
+ "integrity": "sha512-DfvyxzHxw4WGdPiTF0SOHnm11Xv4aQexvqhRDAoD00MzHekAj9a/jADXeXYCDFH/DzYruwHbXU7uz+H+nWmSOQ==",
4096
+ "cpu": [
4097
+ "arm64"
4098
+ ],
4099
+ "license": "Apache-2.0",
4100
+ "optional": true,
4101
+ "os": [
4102
+ "linux"
4103
+ ],
4104
+ "engines": {
4105
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
4106
+ },
4107
+ "funding": {
4108
+ "url": "https://opencollective.com/libvips"
4109
+ },
4110
+ "optionalDependencies": {
4111
+ "@img/sharp-libvips-linuxmusl-arm64": "1.1.0"
4112
+ }
4113
+ },
4114
+ "node_modules/@img/sharp-linuxmusl-x64": {
4115
+ "version": "0.34.1",
4116
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.1.tgz",
4117
+ "integrity": "sha512-pax/kTR407vNb9qaSIiWVnQplPcGU8LRIJpDT5o8PdAx5aAA7AS3X9PS8Isw1/WfqgQorPotjrZL3Pqh6C5EBg==",
4118
+ "cpu": [
4119
+ "x64"
4120
+ ],
4121
+ "license": "Apache-2.0",
4122
+ "optional": true,
4123
+ "os": [
4124
+ "linux"
4125
+ ],
4126
+ "engines": {
4127
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
4128
+ },
4129
+ "funding": {
4130
+ "url": "https://opencollective.com/libvips"
4131
+ },
4132
+ "optionalDependencies": {
4133
+ "@img/sharp-libvips-linuxmusl-x64": "1.1.0"
4134
+ }
4135
+ },
4136
+ "node_modules/@img/sharp-wasm32": {
4137
+ "version": "0.34.1",
4138
+ "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.1.tgz",
4139
+ "integrity": "sha512-YDybQnYrLQfEpzGOQe7OKcyLUCML4YOXl428gOOzBgN6Gw0rv8dpsJ7PqTHxBnXnwXr8S1mYFSLSa727tpz0xg==",
4140
+ "cpu": [
4141
+ "wasm32"
4142
+ ],
4143
+ "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
4144
+ "optional": true,
4145
+ "dependencies": {
4146
+ "@emnapi/runtime": "^1.4.0"
4147
+ },
4148
+ "engines": {
4149
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
4150
+ },
4151
+ "funding": {
4152
+ "url": "https://opencollective.com/libvips"
4153
+ }
4154
+ },
4155
+ "node_modules/@img/sharp-win32-ia32": {
4156
+ "version": "0.34.1",
4157
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.1.tgz",
4158
+ "integrity": "sha512-WKf/NAZITnonBf3U1LfdjoMgNO5JYRSlhovhRhMxXVdvWYveM4kM3L8m35onYIdh75cOMCo1BexgVQcCDzyoWw==",
4159
+ "cpu": [
4160
+ "ia32"
4161
+ ],
4162
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
4163
+ "optional": true,
4164
+ "os": [
4165
+ "win32"
4166
+ ],
4167
+ "engines": {
4168
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
4169
+ },
4170
+ "funding": {
4171
+ "url": "https://opencollective.com/libvips"
4172
+ }
4173
+ },
4174
+ "node_modules/@img/sharp-win32-x64": {
4175
+ "version": "0.34.1",
4176
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.1.tgz",
4177
+ "integrity": "sha512-hw1iIAHpNE8q3uMIRCgGOeDoz9KtFNarFLQclLxr/LK1VBkj8nby18RjFvr6aP7USRYAjTZW6yisnBWMX571Tw==",
4178
+ "cpu": [
4179
+ "x64"
4180
+ ],
4181
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
4182
+ "optional": true,
4183
+ "os": [
4184
+ "win32"
4185
+ ],
4186
+ "engines": {
4187
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
4188
+ },
4189
+ "funding": {
4190
+ "url": "https://opencollective.com/libvips"
4191
+ }
4192
+ },
3804
4193
  "node_modules/@jest/schemas": {
3805
4194
  "version": "29.6.3",
3806
4195
  "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
@@ -5957,6 +6346,19 @@
5957
6346
  "url": "https://github.com/sponsors/wooorm"
5958
6347
  }
5959
6348
  },
6349
+ "node_modules/color": {
6350
+ "version": "4.2.3",
6351
+ "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
6352
+ "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==",
6353
+ "license": "MIT",
6354
+ "dependencies": {
6355
+ "color-convert": "^2.0.1",
6356
+ "color-string": "^1.9.0"
6357
+ },
6358
+ "engines": {
6359
+ "node": ">=12.5.0"
6360
+ }
6361
+ },
5960
6362
  "node_modules/color-convert": {
5961
6363
  "version": "2.0.1",
5962
6364
  "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -5975,6 +6377,16 @@
5975
6377
  "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
5976
6378
  "license": "MIT"
5977
6379
  },
6380
+ "node_modules/color-string": {
6381
+ "version": "1.9.1",
6382
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
6383
+ "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
6384
+ "license": "MIT",
6385
+ "dependencies": {
6386
+ "color-name": "^1.0.0",
6387
+ "simple-swizzle": "^0.2.2"
6388
+ }
6389
+ },
5978
6390
  "node_modules/colord": {
5979
6391
  "version": "2.9.3",
5980
6392
  "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
@@ -6976,6 +7388,15 @@
6976
7388
  "npm": "1.2.8000 || >= 1.4.16"
6977
7389
  }
6978
7390
  },
7391
+ "node_modules/detect-libc": {
7392
+ "version": "2.0.3",
7393
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz",
7394
+ "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==",
7395
+ "license": "Apache-2.0",
7396
+ "engines": {
7397
+ "node": ">=8"
7398
+ }
7399
+ },
6979
7400
  "node_modules/detect-node": {
6980
7401
  "version": "2.1.0",
6981
7402
  "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
@@ -13065,6 +13486,15 @@
13065
13486
  "node": ">=4"
13066
13487
  }
13067
13488
  },
13489
+ "node_modules/plaiceholder": {
13490
+ "version": "3.0.0",
13491
+ "resolved": "https://registry.npmjs.org/plaiceholder/-/plaiceholder-3.0.0.tgz",
13492
+ "integrity": "sha512-jwHxxHPnr1BwRzPCeZgEK2BMsEy2327sWynw3qb6XC/oGgGDUTPtR8pFxFQmNArhMBwhkUbUr5OPhhIJpCa8eQ==",
13493
+ "license": "Apache-2.0",
13494
+ "peerDependencies": {
13495
+ "sharp": ">= 0.30.6"
13496
+ }
13497
+ },
13068
13498
  "node_modules/postcss": {
13069
13499
  "version": "8.5.3",
13070
13500
  "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz",
@@ -16039,6 +16469,46 @@
16039
16469
  "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==",
16040
16470
  "license": "MIT"
16041
16471
  },
16472
+ "node_modules/sharp": {
16473
+ "version": "0.34.1",
16474
+ "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.1.tgz",
16475
+ "integrity": "sha512-1j0w61+eVxu7DawFJtnfYcvSv6qPFvfTaqzTQ2BLknVhHTwGS8sc63ZBF4rzkWMBVKybo4S5OBtDdZahh2A1xg==",
16476
+ "hasInstallScript": true,
16477
+ "license": "Apache-2.0",
16478
+ "dependencies": {
16479
+ "color": "^4.2.3",
16480
+ "detect-libc": "^2.0.3",
16481
+ "semver": "^7.7.1"
16482
+ },
16483
+ "engines": {
16484
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
16485
+ },
16486
+ "funding": {
16487
+ "url": "https://opencollective.com/libvips"
16488
+ },
16489
+ "optionalDependencies": {
16490
+ "@img/sharp-darwin-arm64": "0.34.1",
16491
+ "@img/sharp-darwin-x64": "0.34.1",
16492
+ "@img/sharp-libvips-darwin-arm64": "1.1.0",
16493
+ "@img/sharp-libvips-darwin-x64": "1.1.0",
16494
+ "@img/sharp-libvips-linux-arm": "1.1.0",
16495
+ "@img/sharp-libvips-linux-arm64": "1.1.0",
16496
+ "@img/sharp-libvips-linux-ppc64": "1.1.0",
16497
+ "@img/sharp-libvips-linux-s390x": "1.1.0",
16498
+ "@img/sharp-libvips-linux-x64": "1.1.0",
16499
+ "@img/sharp-libvips-linuxmusl-arm64": "1.1.0",
16500
+ "@img/sharp-libvips-linuxmusl-x64": "1.1.0",
16501
+ "@img/sharp-linux-arm": "0.34.1",
16502
+ "@img/sharp-linux-arm64": "0.34.1",
16503
+ "@img/sharp-linux-s390x": "0.34.1",
16504
+ "@img/sharp-linux-x64": "0.34.1",
16505
+ "@img/sharp-linuxmusl-arm64": "0.34.1",
16506
+ "@img/sharp-linuxmusl-x64": "0.34.1",
16507
+ "@img/sharp-wasm32": "0.34.1",
16508
+ "@img/sharp-win32-ia32": "0.34.1",
16509
+ "@img/sharp-win32-x64": "0.34.1"
16510
+ }
16511
+ },
16042
16512
  "node_modules/shebang-command": {
16043
16513
  "version": "2.0.0",
16044
16514
  "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@@ -16167,6 +16637,21 @@
16167
16637
  "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
16168
16638
  "license": "ISC"
16169
16639
  },
16640
+ "node_modules/simple-swizzle": {
16641
+ "version": "0.2.2",
16642
+ "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
16643
+ "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
16644
+ "license": "MIT",
16645
+ "dependencies": {
16646
+ "is-arrayish": "^0.3.1"
16647
+ }
16648
+ },
16649
+ "node_modules/simple-swizzle/node_modules/is-arrayish": {
16650
+ "version": "0.3.2",
16651
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
16652
+ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
16653
+ "license": "MIT"
16654
+ },
16170
16655
  "node_modules/sirv": {
16171
16656
  "version": "2.0.4",
16172
16657
  "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz",
@@ -2,6 +2,7 @@
2
2
  "name": "docs-site",
3
3
  "version": "0.0.0",
4
4
  "private": true,
5
+ "type": "module",
5
6
  "scripts": {
6
7
  "docusaurus": "docusaurus",
7
8
  "start": "docusaurus start",
@@ -11,18 +12,21 @@
11
12
  "clear": "docusaurus clear",
12
13
  "serve": "docusaurus serve",
13
14
  "write-translations": "docusaurus write-translations",
14
- "write-heading-ids": "docusaurus write-heading-ids"
15
+ "write-heading-ids": "docusaurus write-heading-ids",
16
+ "watch:images": "node scripts/watch-images.js"
15
17
  },
16
18
  "dependencies": {
17
- "@docusaurus/core": "3.7.0",
18
19
  "@docusaurus/preset-classic": "3.7.0",
19
20
  "@mdx-js/react": "^3.0.0",
20
21
  "clsx": "^2.0.0",
22
+ "plaiceholder": "^3.0.0",
21
23
  "prism-react-renderer": "^2.3.0",
22
24
  "react": "^19.0.0",
23
- "react-dom": "^19.0.0"
25
+ "react-dom": "^19.0.0",
26
+ "sharp": "^0.34.1"
24
27
  },
25
28
  "devDependencies": {
29
+ "@docusaurus/core": "^3.7.0",
26
30
  "@docusaurus/module-type-aliases": "3.7.0",
27
31
  "@docusaurus/types": "3.7.0"
28
32
  },
@@ -0,0 +1,17 @@
1
+ // docs-site/scripts/generate-placeholders.js
2
+ import { getPlaiceholder } from 'plaiceholder';
3
+ import fs from 'fs/promises';
4
+ import path from 'path';
5
+
6
+ const images = ['img/hero.jpg', 'img/logo.png'];
7
+
8
+ for (const relPath of images) {
9
+ const fullPath = path.join(process.cwd(), 'docs-site', 'static', relPath);
10
+ const buffer = await fs.readFile(fullPath);
11
+ const { base64 } = await getPlaiceholder(buffer);
12
+ const outPath = relPath.replace(/\//g, '_') + '.json';
13
+ await fs.writeFile(
14
+ path.join(process.cwd(), 'docs-site/.plaiceholder-cache', outPath),
15
+ JSON.stringify({ base64 })
16
+ );
17
+ }
@@ -0,0 +1,40 @@
1
+ // docs-site/scripts/watch-images.js
2
+ // Version: 1.0.0
3
+ // Description: Watches /static/img for changes and regenerates Plaiceholder LQIP cache
4
+ // Author: Ali Kahwaji
5
+
6
+ import { generate } from 'plaiceholder';
7
+ import { readdir, readFile, writeFile } from 'fs/promises';
8
+ import chokidar from 'chokidar';
9
+ import path from 'path';
10
+
11
+ const IMG_DIR = path.resolve('docs-site/static/img');
12
+ const CACHE_DIR = path.resolve('docs-site/.plaiceholder-cache');
13
+
14
+ async function processImage(file) {
15
+ const buffer = await readFile(path.join(IMG_DIR, file));
16
+ const { base64, img } = await generate(buffer);
17
+
18
+ const output = {
19
+ base64,
20
+ img,
21
+ };
22
+
23
+ const name = file.replace(/\.(jpg|jpeg|png|webp)/i, '');
24
+ await writeFile(path.join(CACHE_DIR, `img_${name}.json`), JSON.stringify(output, null, 2));
25
+ console.log(`✅ LQIP generated: img_${name}.json`);
26
+ }
27
+
28
+ async function run() {
29
+ const files = await readdir(IMG_DIR);
30
+ for (const file of files) {
31
+ if (/\.(jpg|jpeg|png|webp)$/i.test(file)) {
32
+ await processImage(file);
33
+ }
34
+ }
35
+
36
+ // Watch for future changes
37
+ chokidar.watch(IMG_DIR).on('change', processImage).on('add', processImage);
38
+ }
39
+
40
+ run();
@@ -0,0 +1,5 @@
1
+ {
2
+ type: 'link',
3
+ label: '📰 Blog',
4
+ href: '/blog',
5
+ },
@@ -14,7 +14,7 @@ const sidebars = {
14
14
  type: 'category',
15
15
  label: 'Overview',
16
16
  collapsed: false,
17
- items: ['Introduction', 'Architecture', 'USE_CASES'],
17
+ items: ['Introduction', 'Architecture', 'Tutorials', 'Use-Cases'],
18
18
  },
19
19
  {
20
20
  type: 'category',
@@ -28,6 +28,11 @@ const sidebars = {
28
28
  collapsed: true,
29
29
  items: ['Evaluation', 'FAQ'],
30
30
  },
31
+ {
32
+ type: 'link',
33
+ label: '📰 Blog',
34
+ href: '/blog',
35
+ },
31
36
  ],
32
37
  };
33
38