Astro Theme Pure

Back

Update Theme

Update astro theme pure to the latest version

Breaking Changes

v4.1.2

  • Move src/pages/terms/list.astro to src/pages/terms/index.astro.

v4.1.1

  • Move shiki custom transformers to src/plugins/shiki-custom-transformers.ts.
  • Move shiki official transformers to src/plugins/shiki-offical/transformers.ts.
  • Improve config file with new order and comments. This will affect both src/site.config.ts and astro.config.ts (09dc44d).
  • Add collapse code function with default (7281077, 22b8847)
  • Refactor palette and border radius styles. If you use color like --primary-foreground, update it to --card.

v4.1.0

v4.0.9

  • Support caching links avatar (Arthals)

v4.0.8

No breaking changes.

v4.0.7

  • Changed the Button component to use variant prop instead of style prop. This can help you add custom styles without conflicts. You should change your code like this:

    <Button title='My Button' style='primary' /> 
    <Button title='My Button' variant='primary' /> 
    jsx
  • Changed the ExternalLinks configuration in src/site.config.ts. You should change your config like this:

    • Changed the Waline files out of package! Checkout Commit 5119694 to see how to change your existing pages & layouts. Don’t forget to copy files at src/components/waline to your project.

v4.0.6

  • Changed the project card var name to projects instead of project.

v4.0.5

  • Changed the UnoCSS preset from Wind3 to Mini. Some features are removed, like gradient, animation, container, etc.

v4.0.3

  • Changed footer registration config to links. This will give you more flexibility to add more links or other information:

v4.0.2-beta

  • Consider moving tool icons to a new path such as src/assets/tools/; this may help users know which ones are relevant to tools.

  • Changed links applyTip to a custom array style:

    src/site.config.ts
    export const integ: IntegrationUserConfig = {
      links: {
        applyTip: [
          { name: 'Name', val: theme.title }, 
          { name: 'Desc', val: theme.description || 'Null' },
          { name: 'Link', val: 'https://astro-pure.js.org/' },
          { name: 'Avatar', val: 'https://astro-pure.js.org/favicon/favicon.ico' }
          // You can also add more fields
        ]
      }
    }
    ts
  • Add the env variable BUN_LINK_PKG. Set this to true to automatically refer to the package astro-pure in the path packages/pure instead of node_modules/astro-pure. This may help users develop the theme or change code for themselves (not recommended for production).

  • Changed the CSS framework to UnoCSS. This will affect unocss.config.ts and typography class name settings.

v4.0.1-beta

  • Changed svg deliver import to custom import svg element. This will affect using component for ToolSelection. You should change:

    (Optional) Move icons to new path like src/assets/icons/

    Then change using code (default at src/pages/about/index.astro)

    src/pages/about/index.astro
    <ToolSection
      tools={[
        {
          name: 'Arch Linux',
          description: 'Linux Distribution',
          href: 'https://archlinux.org/',
          iconPath: 'archlinux'
          icon: import('@/assets/icons/archlinux.svg?raw') 
        }
      ]},
    />
    ts
  • This changes import a new component Svg. See User Components #Svg Loader for usage.

v4.0.0-alpha

  • Move all components, types and utils that are reused to new npm packages astro-pure. Affected components are included in . Import method is also changed:

    import { Button } from '@/components/user'
    import { Button } from 'astro-pure/user'
    ts
  • New format config file src/site.config.ts. There will be zod schema to validate the config file, and use of config will be changed to:

    import { siteConfig } from '@/site-config'
    import config from '@/site-config'
    // Or if you want to use the config that is after processed or transformed
    import config from 'virtual:config'
    ts
  • Built-in astro config supported. package astro-pure will automatically config some integrations like unocss/astro, @astrojs/mdx, @astrojs/sitemap, also with some rehypePlugins and remarkPlugins.

  • Changed search engine to pagefind, mainly because Astro v5 will not allow getting collection data directly from client (that is core working mode of Fuse.js search engine).

  • Changed some BaseHead tags config to src/site.config.ts.

v3.1.4

  • Move config siteConfig.content.typographyProse to integrationConfig.typography.class in src/site.config.ts.

  • Move advanced components to src/components/advanced. Affected components are included in Advanced Components. Import method is also changed:

    import LinkPreview from '@/components/LinkPreview.astro'
    import { LinkPreview } from 'astro-pure/advanced'
    
    <LinkPreview href='https://www.cloudflare.com/' />
    ts
  • Move Substats config to related page src/pages/about/index.astro.

  • Changed Github Card component to GithubCard in src/components/advanced. See Advanced Components #Github Card for usage.

  • Move Links Logbook to src/site.config.ts. See Friend Links #Basic Configurations.

v3.1.3

  • Move user components to src/components/user. Affected components are included in User Components. Import method is also changed:

    import Button from '@/components/Button'
    import { Button } from 'astro-pure/user'
    ts
  • Replace remark-github-blockquote-alert plugin to component Aside. Check User Components #Aside to know how to migrate.

v3.1.2 (pre-release)

  • Move some configuration items like telegram, walineServerURL to new structure in src/site.config.ts.

v3.1.1

  • Move the internal parts in the src/utils to src/plugins.
  • Modify the configuration file astro.config.ts to astro.config.mjs.
  • Update ESLint to latest version and migrate configuration file .eslintrc.js to eslint.config.mjs.
  • Modify the prettier.config.js to prettier.config.mjs.

v3.1.0 (pre-release)

  • Changed common content markdown formatter coverImage to heroImage. You need to modify all your markdown files to replace coverImage with heroImage.

v3.0.9

A stable version.

Pending update…

Update Method

Rebase

If you create a new project using fork, you can just rebase the theme repository to the latest version.

Merge Manually

As the git histories are not the same, you might need to merge the theme repository into your project manually.

A practical way for Windows users is to use the tool WinMerge.

A filter list may be helpful: