{"id":21082798,"url":"https://github.com/johnmanjohnston/blindfolds","last_synced_at":"2026-05-19T17:41:55.088Z","repository":{"id":178588790,"uuid":"661858499","full_name":"johnmanjohnston/blindfolds","owner":"johnmanjohnston","description":"Extremely lightweight presentation library made with JavaScript","archived":false,"fork":false,"pushed_at":"2023-07-04T11:33:13.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T23:46:58.748Z","etag":null,"topics":["javascript","javascript-library","presentation","presentation-tools"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/johnmanjohnston.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-07-03T20:24:38.000Z","updated_at":"2023-07-04T11:28:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"990d5b36-f296-4705-a060-49aed5af60d3","html_url":"https://github.com/johnmanjohnston/blindfolds","commit_stats":null,"previous_names":["johnmanjohnston/blindfolds"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnmanjohnston%2Fblindfolds","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnmanjohnston%2Fblindfolds/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnmanjohnston%2Fblindfolds/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnmanjohnston%2Fblindfolds/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnmanjohnston","download_url":"https://codeload.github.com/johnmanjohnston/blindfolds/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243526855,"owners_count":20305112,"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":["javascript","javascript-library","presentation","presentation-tools"],"created_at":"2024-11-19T20:15:20.511Z","updated_at":"2025-12-28T17:33:55.755Z","avatar_url":"https://github.com/johnmanjohnston.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Blindfolds\n\nBlindfolds is a JavaScript-based library I made for making presentations. I was probably drunk when I named it.\nI made this last year when I was assigned to create a presentation, and was too lazy to create it within PowerPoint. \n\n# Demo\nTo get started, create an HTML file and link `main.css` and create a JavaScript file that should be linked as a `module`. For example:\n```js\n\u003c!DOCTYPE html\u003e\n\u003chtml lang=\"en\"\u003e\n\u003chead\u003e\n    \u003cmeta charset=\"UTF-8\"\u003e\n    \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n    \u003ctitle\u003eBlindfolds\u003c/title\u003e\n    \u003clink rel=\"stylesheet\" href=\"./main.css\" /\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n    \u003cscript src=\"./index.js\" type=\"module\"\u003e\u003c/script\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n```\n\nIn your JavaScript file, import Blindfolds:\n```js\nimport * as BLINDFOLDS from \"./Blindfolds.js\";\n```\n\nYou can then initialize a new presentation like so:\n```js\n// Intiailize the Blindfolds library\nvar Presentation = new BLINDFOLDS.BlindfoldsPresentation({\n    SlideCount: 5,\n    FixedHTML: `\n        \u003cdiv style=\"color: rgba(255, 255, 255, 0.5); padding: 0.8vw; font-size: 0.7vw;\"\u003e\n            Blindfolds |SLCOUNT|\n        \u003c/div\u003e\n    `,\n    PresentationName: \"Blindfolds\",\n})\n```\n\nThe parameters are pretty self-explanatory: `SlideCount` is the number of slides. `FixedHTML` is some HTML code that's overlaid over the presentation. `PresentationName` is the presentation name.\n\nYou may want to create a template for your slides for consistency in the slide designs:\n```js\n// Create Template\nconst SlideTemplateConfiguration = {\n    BackgroundColor: \"rgb(30, 30, 35)\",\n    FontColor: \"#E5E5E5\",\n    \n    TitleFontSize: \"4vw\",\n    ContentFontSize: \"2vw\",\n\n    AdditionalTitleClasses: \"Type\",\n    AdditionalContentClasses: \"Type\",\n\n    ExtraHTML: `\n        \u003cdiv style=\"width: 100%; height: 5vh; background: rgba(0, 0, 10, 0.2); position: absolute; bottom: 0;\"\u003e\u003c/div\u003e\n    `,\n}\n```\n\n`BackgroundColor` is the background color used. `FontColor` is the color of the text. `TitleFontSize` controls the font size of the title, and `ContentFontSize` controls the font size of the content.\n`AdditionalTitleClasses` and `AdditionalContentClasses` are additonal classes that are added to the title and the content. In the example above, the `Type` class adds a typing animation. \n\nTo create a slide, you can use the `BlindfoldsSlide` class:\n\n```js\nvar TitleSlide = new BLINDFOLDS.BlindfoldsSlide({\n    ...SlideTemplateConfiguration,\n\n    Title: \"This Is {{Blindfolds}}.\",\n    Content: \"A {{JavaScript-based presentation library}} I programmed a while ago.\",\n    \n    AdditionalTitleStyling: \"position: absolute; top: 45vh; left: 50%; transform: translate(-50%, -50%);\",\n    AdditionalContentStyling: \"text-align: center; position: absolute; top: 57%; left: 50%; transform: translate(-50%, -50%);\",\n    \n    ContentFontSize: \"1.2vw\",\n    TitleFontSize: \"4.4vw\",\n})\n```\n\nThe slide above would generate a slide resembling the following: \n\n![image](https://github.com/johnmanjohnston/blindfolds/assets/97091148/934e8fbb-2623-4117-96a5-4e38f109198c)\n\n\nWe import parameters from the template with `...SlideTemplateConfiguration`. `Title` is the title of the slide. `Content` is the content shown on the slide. `AdditionalTitleStyling` is CSS styling added to the title,\nand `AdditionalContentStyling` is CSS styling added to the content. You may also wrap the title and content in `{{` and `}}` to apply the `Importance` class on them, which can be customized in `main.css`\n\nYou may create all your slides in the same manner. To finally run the presentation, we use the object we created to initialize the presentation, call the `Run()` function, and pass the slides in an array\nas the only argument.\n\n```js\nPresentation.Run([TitleSlide, Slide2, Slide3, End]);\n```\n# Documentation/Reference\n### class BlindfoldsPresentation(Options)\nTakes an `Options` argument, which accepts:\n\n`SlideCount` (type: Number)\n\n`FixedHTML` (type: String)\n\n`PresentationName` (type: String)\n\n### class BlindfoldsSlide(Options)\nTakes an `Options` argument, which accepts:\n\n`ContentFontSize` (type: String) (Has to be a string, because the CSS measurement is also passed on with it, for example `1.5em`)\n\n`TitleFontSize` (type: String) (Has to be a string, because the CSS measurement is also passed on with it, for example `1.5em`)\n\n\n`Title` (type: String)\n\n`Content` (type: String)\n\n`BackgroundColor` (type: String) (accept CSS coloring method, for example `black`)\n\n`FontColor` (type: String) (accept CSS coloring method, for example `indianred`)\n\n\n`AdditionalTitleClasses` (type: String)\n\n`AdditionalContentClasses` (type: String)\n\n\n`AdditionalTitleStyling` (type: String)\n\n`AdditionalContentStyling` (type: String)\n\n\n`ExtraHTML` (type: String)\n\n### BlindfoldsPresentation.Run(SlClasses)\n\n`SlClasses` (type: Array of `BlindfoldsSlide`)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnmanjohnston%2Fblindfolds","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnmanjohnston%2Fblindfolds","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnmanjohnston%2Fblindfolds/lists"}