{"id":15589148,"url":"https://github.com/kbravh/scriptly-redux","last_synced_at":"2026-01-07T17:12:33.990Z","repository":{"id":46062662,"uuid":"234622869","full_name":"kbravh/scriptly-redux","owner":"kbravh","description":"A site that will format patriarchal blessings to make them look like pages from the scriptures.","archived":false,"fork":false,"pushed_at":"2023-11-10T10:47:50.000Z","size":21410,"stargazers_count":0,"open_issues_count":11,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T12:14:23.520Z","etag":null,"topics":["blessings","lds","scripture"],"latest_commit_sha":null,"homepage":"https://scripture.page","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/kbravh.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}},"created_at":"2020-01-17T19:36:34.000Z","updated_at":"2022-09-02T11:58:13.000Z","dependencies_parsed_at":"2024-06-11T17:16:29.013Z","dependency_job_id":"2ba34aab-a02a-4bfd-8fca-790a98880a0b","html_url":"https://github.com/kbravh/scriptly-redux","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbravh%2Fscriptly-redux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbravh%2Fscriptly-redux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbravh%2Fscriptly-redux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbravh%2Fscriptly-redux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kbravh","download_url":"https://codeload.github.com/kbravh/scriptly-redux/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246168098,"owners_count":20734389,"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":["blessings","lds","scripture"],"created_at":"2024-10-02T23:00:45.125Z","updated_at":"2026-01-07T17:12:33.945Z","avatar_url":"https://github.com/kbravh.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://scripture.page\"\u003e\n    \u003csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 72.7 96\" height=60\u003e\n      \u003cpath id=\"scriptly-logo-path\" fill=\"#102542\" d=\"M59.6 18.5S76.2-1.6 72 0c-2.9 1.2-19.7 6.7-19.7 6.7l-1.2-5-9.6 6.4L39.1 1l-4.4 7.3-19.5 48-5.3 13.7-.2.6.1-.3L0 96l1.2-.2L26.3 52c10.3-7.5 27.4-17 27.4-17l9.6-6.2s-2.8-.9-9.6.2l9.7-10.6zm-13-4.6a236 236 0 00-16.2 22 277.3 277.3 0 00-14 23.6c-1.5 2.6-2.8 5.4-4.2 8A165.2 165.2 0 0140 20.4 216.7 216.7 0 0152.4 6.8l-5.8 7z\"/\u003e\n    \u003c/svg\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003e\n  Scriptly\n\u003c/h1\u003e\n\n[![Netlify Status](https://api.netlify.com/api/v1/badges/0366bbf9-cc13-4423-a980-be26fccb90df/deploy-status)](https://app.netlify.com/sites/scripture/deploys)\n\nWelcome to Scriptly, a site designed to produce scripture-styled patriarchal blessings. [What's a patriarchal blessing?](https://www.churchofjesuschrist.org/study/manual/gospel-topics/patriarchal-blessings) \n\n# Local Development\n\nIn order to run the site locally, clone this repository then install all dependencies using either `yarn install` or `npm install`. Finally, run `gatsby develop`. Visit https://localhost:8000 to see the site.\n\nTo run tests, run `npm run test` which will kick off the Jest testing suite. Note: Currently, there are only unit tests. \n\n# Site breakdown\n\nThis site is made up of multiple components:\n\n* Frontend - Built on [GatsbyJS](https://gatsbyjs.org), a React based website building framework\n* Backend - Two Node.js functions hosted on AWS Lambda\n\n## Frontend\n\nThe frontend code makes up the majority of this repository.\n```\n.\n├── __mocks__\n│   ├── file-mock.js\n│   └── gatsby.js\n├── src\n│   ├── components\n│   │   ├── __tests__\n│   │   ├── css\n│   │   └── ...\n│   ├── images\n│   ├── intl\n│   ├── machines\n│   └── pages\n├── static\n├── gatsby-config.js\n├── jest-preprocess.js\n├── jest.config.js\n└── loadershim.js\n```\n\nThe `__mocks__` directory and `jest-preprocess.js`, `jest.config.js`, and `loadershim.js` files are all used for testing. The tests themselves are in the `__tests__` directory. See [Gatsby testing](https://www.gatsbyjs.org/docs/testing/) for more information about this setup.\n\nOverall site flow and logic is handled by an [xState](https://github.com/davidkpiano/xstate) state machine, located in the `machines` directory.\n\nThe `pages` directory contains React components that will be turned into pages on build, while the `components` are used in those pages across the site.\n\nInternationalization is handled by [react-intl](https://github.com/yahoo/react-intl), with translations located in the `intl` directory. The site is currently available in the following languages:\n\n* English\n* Spanish\n\nWould you like to help translate to a new language? Get in touch!\n\n## Backend \n\nThe backend functions are at the root level of the repository in these folders.\n\n```\n.\n├── scriptly-docx-lambda\n└── scriptly-pdf-lambda\n```\n\nOnce the user posts their form data, it is sent over to the `scriptly-docx-lambda` function. This function has docx templates which are populated with the user's data by the [docxtemplater](https://github.com/open-xml-templating/docxtemplater) library. After the docx is created, the `scriptly-pdf-lambda` function is called. It picks up the docx file from S3 and converts it to a PDF using a headless OpenOffice in Lambda.  \n\n# Todo\n\n* Visual testing using Jest or Cypress\n* OCR/text-recognition so that users can upload PDF versions of their blessings instead of typing them\n* A completely client-side method for creating the scripture pages\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkbravh%2Fscriptly-redux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkbravh%2Fscriptly-redux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkbravh%2Fscriptly-redux/lists"}