{"id":13740282,"url":"https://github.com/BloomBooks/LegacyBloomLibrary","last_synced_at":"2025-05-08T20:30:44.447Z","repository":{"id":11628454,"uuid":"14128756","full_name":"BloomBooks/LegacyBloomLibrary","owner":"BloomBooks","description":"This obsolete project was replaced by https://github.com/BloomBooks/BloomLibrary2.... Bloom Library Single Page App, using AngularJS \u0026 Bootstrap, parse server backend.","archived":false,"fork":false,"pushed_at":"2021-02-09T22:30:14.000Z","size":6791,"stargazers_count":4,"open_issues_count":0,"forks_count":14,"subscribers_count":6,"default_branch":"develop","last_synced_at":"2024-11-15T10:41:43.134Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.bloomlibrary.org","language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BloomBooks.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-11-05T01:23:42.000Z","updated_at":"2021-02-09T22:33:58.000Z","dependencies_parsed_at":"2022-09-08T16:51:20.794Z","dependency_job_id":null,"html_url":"https://github.com/BloomBooks/LegacyBloomLibrary","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/BloomBooks%2FLegacyBloomLibrary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BloomBooks%2FLegacyBloomLibrary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BloomBooks%2FLegacyBloomLibrary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BloomBooks%2FLegacyBloomLibrary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BloomBooks","download_url":"https://codeload.github.com/BloomBooks/LegacyBloomLibrary/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253144539,"owners_count":21861074,"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":[],"created_at":"2024-08-03T04:00:45.605Z","updated_at":"2025-05-08T20:30:43.721Z","avatar_url":"https://github.com/BloomBooks.png","language":"JavaScript","readme":"A web site for sharing literacy materials, especially templates for translation into minority languages.\n\n---\n\n## Quick Start\n\nMake sure you have [yarn](https://yarnpkg.com). Look in packages.json under the \"engines\" key. Get that version of [Nodejs](http://nodejs.org/download/).\n\n```sh\ngit clone  https://github.com/BloomBooks/BloomLibrary.git\ncd BloomLibrary\nyarn\n```\n\nIn one terminal (e.g. in vscode), run\n\n```sh\nyarn watch\n```\n\nIn another terminal (e.g. to its side, in vscode), run\n\n```sh\nyarn serve\n```\n\nThat should open a web browser page at localhost:3000.\n\n## Important Notes about S3 Setup\n\nThe router we use makes all pages have a hash before the final part of the url. e.g. bloomlibrary.org/#/browse.\n\nWhen navigating within the site internally, the router happily deals with this. When navigating to a particular page directly via a url, we would prefer to not include the hash. e.g. bloomlibrary.org/browse.\n\nTo date, we have accomplished this by two different methods on S3.\n1) Routing Rules\n  * In AWS, navigate to the bucket (bloomlibrary.org or dev.bloomlibrary.org)\n  * Properties\n  * Static website hosting\n  * Redirection rules\n  * something like\n  ```\n\u003cRoutingRules\u003e\n  \u003cRoutingRule\u003e\n    \u003cCondition\u003e\n      \u003cKeyPrefixEquals\u003eabout\u003c/KeyPrefixEquals\u003e\n    \u003c/Condition\u003e\n    \u003cRedirect\u003e\n      \u003cReplaceKeyPrefixWith\u003e#/about\u003c/ReplaceKeyPrefixWith\u003e\n    \u003c/Redirect\u003e\n  \u003c/RoutingRule\u003e\n\u003cRoutingRules\u003e\n  ```\n  * We recently discovered these don't work on Safari (or iOS Chrome)\n  \n2) An empty file with redirect rules\n  * In AWS, navigate to the bucket (bloomlibrary.org or dev.bloomlibrary.org)\n  * Upload an empty file for your page. e.g. browse\n  * Click on that file\n  * Properties\n  * Metadata\n  * Add key=Website-Redirect-Location, value=/#/page-name, e.g. /#/browse\n  \n  Careful! Method 2 won't work if you have implemented method 1.\n  \n  Note: Method 2 doesn't work with urls containing information after the would-be file name, e.g. https://bloomlibrary.org/readBook/jnG2YFeIIG\n\n## About the grunt files\n\nWe built these using [ngBoilerplate](https://github.com/ngbp/ngbp). Read the build.config.js file to see most of what is going on. See the readme of ngBoilerplate for more information. Here are key things:\n\nGrunt merges many vendor and app-specific less files together into the bloom_xyz.css file. The list of these files is main.less.\nIf you have a css file to load separately, list that in build.config.js.\n\nNormally we have tests run via the offscreen browser phantomjs. If you want to debug using a normal browser, you'll find that setting in karma/X:\\dev\\BloomLibrary\\karma\\karma-unit.tpl.js.\n\n### Search Engine Optimization\n\nA problem with the current approach is that Google and other web crawlers\ndon't see anything more than our home page. This is discussed at length\nat https://docs.google.com/document/d/1XAJRmQoJHYkwkf4CVW_OWiBkRT1jqufKF2rJajcnxIw/edit?usp=sharing.\n\n### SIL Build Agent Setup\n\n#### AWS Credentials\n\nThe credentials needed to upload the content to the S3 bucket must be supplied in the AWS credential store. On current agents, this can be found at c:\\users\\bob\\\\.aws\\credentials. When running the build, pass the profile name as the ProfileName parameter of the Upload target.\n\n#### Install on machine\n\n7zip must be accessible in the PATH.\n\n## Copyright and License\n\nCopyright 2013-2018 [SIL International](https://www.sil.org/)\n[MIT/X11](https://sil.mit-license.org/)\n","funding_links":[],"categories":["Software"],"sub_categories":["Utilities"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBloomBooks%2FLegacyBloomLibrary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBloomBooks%2FLegacyBloomLibrary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBloomBooks%2FLegacyBloomLibrary/lists"}