{"id":15321003,"url":"https://github.com/qingwave/writings","last_synced_at":"2025-07-21T00:34:23.028Z","repository":{"id":157012056,"uuid":"632878668","full_name":"qingwave/writings","owner":"qingwave","description":"Writings is a personal website based on Astro and Tailwind CSS.","archived":false,"fork":false,"pushed_at":"2025-06-24T08:12:03.000Z","size":15231,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-24T09:27:18.171Z","etag":null,"topics":["astro","blog","qingwave","tailwind","tailwindcss"],"latest_commit_sha":null,"homepage":"https://qingwave.github.io/","language":"Astro","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/qingwave.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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-04-26T10:11:23.000Z","updated_at":"2025-06-24T08:12:07.000Z","dependencies_parsed_at":"2025-01-15T11:58:42.440Z","dependency_job_id":"ce66c29c-3f93-4d75-a6de-06d14d37ae43","html_url":"https://github.com/qingwave/writings","commit_stats":{"total_commits":45,"total_committers":1,"mean_commits":45.0,"dds":0.0,"last_synced_commit":"c4f439933f326bd4f83eb709dd7dbca426ca86db"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/qingwave/writings","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qingwave%2Fwritings","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qingwave%2Fwritings/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qingwave%2Fwritings/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qingwave%2Fwritings/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qingwave","download_url":"https://codeload.github.com/qingwave/writings/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qingwave%2Fwritings/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266221406,"owners_count":23894966,"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":["astro","blog","qingwave","tailwind","tailwindcss"],"created_at":"2024-10-01T09:09:35.987Z","updated_at":"2025-07-21T00:34:18.020Z","avatar_url":"https://github.com/qingwave.png","language":"Astro","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Qingwave's Writings\n\nThis my personal website based on [Astro](https://astro.build/) + [Tailwind CSS](https://tailwindcss.com/), use the [AstroWind](https://github.com/onwidget/astrowind) theme.\n\n### Project structure\n\n```\n/\n├── public/\n│   ├── robots.txt\n│   └── favicon.ico\n├── src/\n│   ├── assets/\n│   │   ├── images/\n│   │   └── styles/\n│   │       └── base.css\n│   ├── components/\n│   │   ├── blog/\n│   │   ├── common/\n│   │   ├── widgets/\n│   │   │   ├── Header.astro\n│   │   │   └── ...\n│   │   ├── CustomStyles.astro\n│   │   └── Logo.astro\n│   ├── content/\n│   │   ├── post/\n│   │   │   ├── post-slug-1.md\n│   │   │   ├── post-slug-2.mdx\n│   │   │   └── ...\n│   │   └-- config.ts\n│   ├── layouts/\n│   │   ├── BaseLayout.astro\n│   │   └── ...\n│   ├── pages/\n│   │   ├── [...blog]/\n│   │   │   ├── [category]/\n│   │   │   ├── [tag]/\n│   │   │   ├── [...page].astro\n│   │   │   └── index.astro\n│   │   ├── index.astro\n│   │   ├── 404.astro\n│   │   ├-- rss.xml.ts\n│   │   └── ...\n│   ├── utils/\n│   ├── config.mjs\n│   └── data.js\n├── package.json\n├── astro.config.mjs\n└── ...\n```\n\n### Dependencies\n\n- node \u003e=16.12.0\n\n### Commands\n\nAll commands are run from the root of the project, from a terminal:\n\n| Command               | Action                                             |\n| :-------------------- | :------------------------------------------------- |\n| `npm install`         | Installs dependencies                              |\n| `npm run dev`         | Starts local dev server at `localhost:3000`        |\n| `npm run build`       | Build your production site to `./dist/`            |\n| `npm run preview`     | Preview your build locally, before deploying       |\n| `npm run format`      | Format codes with Prettier                         |\n| `npm run lint:eslint` | Run Eslint                                         |\n| `npm run astro ...`   | Run CLI commands like `astro add`, `astro preview` |\n| `npm new \"some blog\"` | Create a new blog                                  |\n\n### Configuration\n\nBasic configuration file: `./src/config.mjs`, and you can also config the `./src/data.js`\n\n```javascript\nconst CONFIG = {\n  name: 'Example',\n\n  origin: 'https://example.com',\n  basePathname: '/', // Change this if you need to deploy to Github Pages, for example\n  trailingSlash: false, // Generate permalinks with or without \"/\" at the end\n\n  title: 'Example - This is the homepage title of Example', // Default seo title\n  description: 'This is the homepage description of Example', // Default seo description\n  defaultImage: 'image.jpg', // Default seo image\n\n  defaultTheme: 'system', // Values: \"system\" | \"light\" | \"dark\" | \"light:only\" | \"dark:only\"\n\n  language: 'en', // Default language\n  textDirection: 'ltr', // Default html text direction\n\n  dateFormatter: new Intl.DateTimeFormat('en', {\n    // Date format\n    year: 'numeric',\n    month: 'short',\n    day: 'numeric',\n    timeZone: 'UTC',\n  }),\n\n  googleAnalyticsId: false, // Or \"G-XXXXXXXXXX\",\n  googleSiteVerificationId: '', // Or some value,\n\n  blog: {\n    disabled: false,\n    postsPerPage: 4,\n\n    post: {\n      permalink: '/%slug%', // variables: %slug%, %year%, %month%, %day%, %hour%, %minute%, %second%, %category%\n      noindex: false,\n      disabled: false,\n    },\n\n    list: {\n      pathname: 'blog', // Blog main path, you can change this to \"articles\" (/articles)\n      noindex: false,\n      disabled: false,\n    },\n\n    category: {\n      pathname: 'category', // Category main path /category/some-category\n      noindex: true,\n      disabled: false,\n    },\n\n    tag: {\n      pathname: 'tag', // Tag main path /tag/some-tag\n      noindex: true,\n      disabled: false,\n    },\n  },\n};\n```\n\n\u003cbr\u003e\n\n### Deploy\n\n#### Deploy to production (manual)\n\nYou can create an optimized production build with:\n\n```shell\nnpm run build\n```\n\nNow, your website is ready to be deployed. All generated files are located at\n`dist` folder, which you can deploy the folder to any hosting service you\nprefer.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqingwave%2Fwritings","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqingwave%2Fwritings","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqingwave%2Fwritings/lists"}