{"id":14962709,"url":"https://github.com/pararell/sveltekit-blog","last_synced_at":"2025-10-25T00:30:40.771Z","repository":{"id":132781403,"uuid":"367879377","full_name":"pararell/sveltekit-blog","owner":"pararell","description":"Latest SvelteKit v.2 blog - can create page or blog with Markdown or Jodit(wysiwyg editor) - Created pages and blogs are in header and they are server-side rendered for SEO and client-side for interaction ","archived":false,"fork":false,"pushed_at":"2024-08-05T07:07:07.000Z","size":1719,"stargazers_count":12,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-09-29T12:02:50.543Z","etag":null,"topics":["blog","express","jwt","markdown","rxjs","ssr","svelte","svelte-blog","svelte-i18n","svelte3","sveltekit","sveltekit-blog","sveltekit-example","wysiwyg"],"latest_commit_sha":null,"homepage":"https://miroslavsmrtic.sk/","language":"Svelte","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/pararell.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":"2021-05-16T12:51:51.000Z","updated_at":"2024-08-05T07:07:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"3acacd2c-e7c2-47f9-a8a5-0e5cfff52365","html_url":"https://github.com/pararell/sveltekit-blog","commit_stats":{"total_commits":128,"total_committers":1,"mean_commits":128.0,"dds":0.0,"last_synced_commit":"6ad792378b103730524a7daf5ac011b582b7617e"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pararell%2Fsveltekit-blog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pararell%2Fsveltekit-blog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pararell%2Fsveltekit-blog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pararell%2Fsveltekit-blog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pararell","download_url":"https://codeload.github.com/pararell/sveltekit-blog/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219867387,"owners_count":16555891,"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","express","jwt","markdown","rxjs","ssr","svelte","svelte-blog","svelte-i18n","svelte3","sveltekit","sveltekit-blog","sveltekit-example","wysiwyg"],"created_at":"2024-09-24T13:30:24.380Z","updated_at":"2025-10-25T00:30:40.351Z","avatar_url":"https://github.com/pararell.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Blog made with SvelteKit\n\n## Svelte blog which using Markdown, FE Svelte - SvelteKit, BE Express + SQLite\n\n\u003cbr/\u003e\nPages and blogs are dynamically created with Markdown or Joddit and they are server-side rendered then - for SEO and client-side for interaction. Option for only HTML without Javascript was added - header will work with language switcher \n\u003cbr/\u003e\u003cbr/\u003e\n\nSet .env in main directory and in /server\n\n- adminEmail - email which can add/edit/remove pages and blogs\n- disqusSrc - optional to have comments from disqus\n- cookieSecret, cookieName, TOKEN_KEY - random string\n\n- works with Node.js v.18+\n\n\u003ccode\u003enpm run build\u003c/code\u003e\n\u003cbr/\u003e\u003cbr/\u003e\n\u003ccode\u003ecd server npm run dev\u003c/code\u003e\n\u003cbr/\u003e\u003cbr/\u003e\nServer and Client run on the same port - it should check if the build exist and if yes, it will include SSR Sveltekit\n\u003cbr/\u003e\n` if (fs.existsSync('../build/handler.js')) { const {handler} = await import('../build/handler.js'); app.use(handler); }`\n\n- Use **jsonwebtoken** for the Authorization\n- Use **express-session** for the session management in Express\n- Use language switch with **svelte-i18n**\n- Pages and Blogs creation with **marked**\n  \u003cbr\u003e\n\n  test - privatelibrary.eu\n  \u003cbr/\u003e\u003cbr/\u003e\n\n  ## With Docker\n\n   \u003cbr\u003e\n   \n  - build docker: docker build -t sveltekit-blog:0.5.1 . (docker build --platform linux/amd64 -t sveltekit-blog:0.5.1 .)\n  - from dockerhub: docker pull pararel/sveltekit-blog:0.5.1\n  - docker run -it -d -v $PWD/server/database:/usr/src/app/server/database --env-file $PWD/.env --network=host sveltekit-blog:0.5.1\n    \n  \u003cbr/\u003e\u003cbr/\u003e\n  \u003cimg width=\"400\" src=\"https://res.cloudinary.com/dnpgh1vhi/image/upload/v1669123043/screenshot_2022-11-22_o_14.16.09_fofgol.png\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpararell%2Fsveltekit-blog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpararell%2Fsveltekit-blog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpararell%2Fsveltekit-blog/lists"}