{"id":13686597,"url":"https://github.com/ghivert/fireblog","last_synced_at":"2025-05-01T09:32:15.966Z","repository":{"id":87233915,"uuid":"104648655","full_name":"ghivert/fireblog","owner":"ghivert","description":"Blog template in elm for easy deploy on Firebase!","archived":true,"fork":false,"pushed_at":"2019-12-09T13:27:29.000Z","size":1484,"stargazers_count":46,"open_issues_count":0,"forks_count":3,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-11-12T09:48:48.485Z","etag":null,"topics":["blog","elm","firebase","spa"],"latest_commit_sha":null,"homepage":"https://guillaumehivert.io","language":"Elm","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/ghivert.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-09-24T14:07:09.000Z","updated_at":"2024-07-21T20:54:14.000Z","dependencies_parsed_at":"2023-03-13T19:37:43.201Z","dependency_job_id":null,"html_url":"https://github.com/ghivert/fireblog","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/ghivert%2Ffireblog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ghivert%2Ffireblog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ghivert%2Ffireblog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ghivert%2Ffireblog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ghivert","download_url":"https://codeload.github.com/ghivert/fireblog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251852841,"owners_count":21654474,"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":["blog","elm","firebase","spa"],"created_at":"2024-08-02T15:00:35.871Z","updated_at":"2025-05-01T09:32:15.402Z","avatar_url":"https://github.com/ghivert.png","language":"Elm","funding_links":[],"categories":["Elm"],"sub_categories":[],"readme":"# Fireblog\n\nThe world is full of words. Let's add more. Blogging is essential. Having a personal blog is required. Here is one. Fireblog is back, and it's fully up to date! It now uses elm 0.19 and Server-Side Rendering!\n\n## Context\n\nAs a complement of Medium (where I'm posting everything in English), I wanted to get a fully working blog in French. Built with elm and Firebase, all of this started as an experimentation to get a valid SPA working with elm and Firebase. With time going through, I thought it would be so cool to let everyone enjoy this, and take inspiration if they want, because it's not always easy to find an example of an SPA in elm in « production ».  \nThe goal is to provide an easy-way to deploy the application on Firebase, with little or no effort at all, just like WordPress do -- but easier, and only focused on blogging, not all noise around. The focus is put on accessibility, rich web content, single-page application and quality blogging.\n\n## Installation\n\nCreates an account on Firebase, and creates a new project. You will be able to access the integration with JavaScript. Just get something like this:\n\n```javascript\nconst config = {\n  apiKey: 'api-key',\n  authDomain: 'project-url',\n  databaseURL: 'database-url',\n  projectId: 'project-name',\n  storageBucket: 'storage-bucket-url',\n  messagingSenderId: 'one-random-number'\n}\n```\n\nWhen you found it, paste it on `config.js`, like this.\n\n```javascript\n// src/config.js\nimport firebase from 'firebase/app'\n\nconst config = {\n  apiKey: 'api-key',\n  authDomain: 'project-url',\n  databaseURL: 'database-url',\n  projectId: 'project-name',\n  storageBucket: 'storage-bucket-url',\n  messagingSenderId: 'one-random-number'\n}\n\nfirebase.initializeApp(config)\n```\n\nDon't be afraid to share it: it will be on all pages of your site. If someone wants it, can have it really easily.  \nEnable email authentication, and create your account to authenticate. Finally add the uid of the user to the firebase rules of the database, and you're good to go.\n\nConfiguration is done!\n\n## Deployment\n\nYou'll need `yarn`. Please, do not use `npm`. You can easily install it with `brew` on macOS, or `npm install -g yarn`.\n\nYou'll need Firebase CLI. It's on `npm`. Install it with `npm install -g firebase-tools` or `yarn global add firebase-tools`. Next, use `firebase login` and follow the steps, to get the `firebase` command working.\n\n```bash\n# First login to Firebase.\nfirebase login\n# Install the project, build it and deploy it!\nyarn  \nyarn build  \nfirebase deploy\n```\n\n## Customization\n\nAll styling is done in SCSS and resides mostly in `neptune`. Feel free to modify anything to get your favorite styling.  \nThe elm code producing HTML resides only in `View`. It's really easy to change the content of the views as you can avoid modifying types and logic.  \n\n# I like this project, can I use it and contribute?\n\nContribution is so good! I would be glad to accept pull requests to improve it and let even more people use it. Of course, you can also use it without contributing! After all, it's free software, you're free to use it as you want.  \nThere is a contributing guide and a code of conduct, please read them to get an idea on how to do if you want, and be friendly with everyone!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fghivert%2Ffireblog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fghivert%2Ffireblog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fghivert%2Ffireblog/lists"}