faustjs

Faust.js™ - The Headless WordPress Framework

OTHER License

Downloads
65.5K
Stars
1.3K
Committers
47

Bot releases are visible (Hide)

faustjs - @faustjs/[email protected]

Published by github-actions[bot] over 2 years ago

Patch Changes

  • a03fae1: Adds @deprecated flag in core/config applyRequestContext
  • 59241bb: build: Updates eslint to v8
faustjs - @faustjs/[email protected]

Published by github-actions[bot] over 2 years ago

Patch Changes

  • da3a1ae: Fixes draft preview links when i18n is enabled in Next.js config #853
  • 59241bb: build: Updates eslint to v8
  • Updated dependencies [a03fae1]
  • Updated dependencies [59241bb]
faustjs - plugin/faustwp/v0.7.7

Published by blakewilson over 2 years ago

Patch Changes

https://github.com/wpengine/faustjs/commit/6a7559376a15bab06e3fc1b0f537199810ea19e3: Fixes a PHP 8 warning that occured on post types not registered with WP GraphQL https://github.com/wpengine/faustjs/pull/812

faustjs - plugin/faustwp/v0.7.6

Published by josephfusco over 2 years ago

Patch Changes

faustjs - @faustjs/[email protected]

Published by github-actions[bot] over 2 years ago

Patch Changes

  • 732623e: Added the robotsTxt config option in handleSitemapRequests that allows you to specify the content of your /robots.txt route. You can use the following snippet to create a /robots.txt route:

    handleSitemapRequests(req, {
      wpUrl: process.env.NEXT_PUBLIC_WORDPRESS_URL,
      sitemapIndexPath: '/wp-sitemap.xml',
      async robotsTxt(sitemapUrl) {
        return `
            User-agent: *
            Allow: /
    
            Sitemap: ${sitemapUrl}
          `;
      },
    });
    

    Notice robotsTxt is an async function that takes sitemapUrl as an argument. sitemapUrl can then be used to specify the URL to your sitemap in your robots.txt content.

  • 7e98ca6: Added support for sitemaps! Sitemaps in Faust.js work with Next.js middleware. You can create a piece of middleware at src/pages/_middleware.ts with the following content:

    import { handleSitemapRequests } from '@faustjs/next/middleware';
    import { NextRequest, NextResponse } from 'next/server';
    
    export default async function middleware(req: NextRequest) {
      const sitemapRequest = await handleSitemapRequests(req, {
        wpUrl: process.env.NEXT_PUBLIC_WORDPRESS_URL,
        sitemapIndexPath: '/wp-sitemap.xml',
      });
    
      if (sitemapRequest) {
        return sitemapRequest;
      }
    
      return NextResponse.next();
    }
    

    The handleSitemapRequests API requires wpUrl and sitemapIndexPath to be defined. There is optional properties you can define to suit your needs. The config is as follows:

    import { handleSitemapRequests } from '@faustjs/next';
    
    handleSitemapRequests(middlewareReq, {
      // REQUIRED: Your WordPress URL
      wpUrl: process.env.NEXT_PUBLIC_WORDPRESS_URL,
      // REQUIRED: The path to your sitemap index file on WordPress
      sitemapIndexPath: '/wp-sitemap.xml',
      /**
       * OPTIONAL: Sitemap paths to ignore. Useful if you don't want to include sitemaps for users, categories, etc.
       */
      sitemapPathsToIgnore: [
        '/wp-sitemap-posts-page-1.xml',
        '/wp-sitemap-posts-post-*', // Specify a wildcard a tthe end to avoid multiple indices if necessary
      ],
      /**
       * OPTIONAL: List of Next.js pages to include in your sitemap.
       */
      pages: [
        {
          path: '/about', // required
          priority: 0.75, // optional
          changefreq: 'monthly', // optional
          lastmod: new Date().toISOString(), // optional
        },
      ],
      /**
       * OPTIONAL: Replace WP urls with the headless frontend. `true` by default.
       */
      replaceUrls: true,
    });
    
faustjs - plugin/faustwp/v0.7.5

Published by apmatthews over 2 years ago

Patch Changes

  • b7af359: Simplify generation of preview links. Fixes an issue where preview links were missing slashes with certain permalink structures. Thanks @torounit!
  • 662c377: Plugin settings are now validated and sanitized before saving.
  • c730348: Disables access to the site editor when themes are disabled
faustjs - @faustjs/[email protected]

Published by github-actions[bot] over 2 years ago

Patch Changes

  • d2b2b39: Fixed previews when trailingSlash is enabled in Next.js config
faustjs - @faustjs/[email protected]

Published by github-actions[bot] over 2 years ago

Patch Changes

  • d2b2b39: Fixed previews when trailingSlash is enabled in Next.js config
  • Updated dependencies [d2b2b39]
faustjs - plugin/faustwp/v0.7.4

Published by apmatthews over 2 years ago

Patch Changes

  • 1dcd987: Removes unused event callbacks for rewrite rule and post status changes. The is_events_enabled() function has also been removed.
  • 5c69b68: ConditionalTags has been deprecated as it was introduced in an older version of the framework when routing was done from the NextTemplateLoader. Now that we are using Next.js pages for routing, conditionalTags are no longer needed.
  • 7d156ba: Add a documentation link that explains "Features" checkbox settings in more detail
faustjs - @faustjs/[email protected]

Published by github-actions[bot] over 2 years ago

Patch Changes

  • 1d386de: Check for FaustContext before calling GQty queries and throw an error if it's not provided.
faustjs - plugin/faustwp/v0.7.3

Published by josephfusco over 2 years ago

Patch Changes

  • ab4a661: Fixed issue where file editor was unable to save
faustjs - @faustjs/[email protected]

Published by github-actions[bot] almost 3 years ago

Patch Changes

  • c004310: Fixed a bug where expired refresh tokens were not being cleared from the browser cookie, possibly resulting in infinite loops during authentication, or an inability to request authenticated content.
faustjs - @faustjs/[email protected]

Published by github-actions[bot] almost 3 years ago

Patch Changes

  • 3c1280b: Updated schema.generated.ts to support contentNode for usePreviewNode usage.
faustjs - @faustjs/[email protected]

Published by github-actions[bot] almost 3 years ago

Patch Changes

  • c74ce4f: Introduced the usePreviewNode hook to get preview data from any post type. You can use it like so:

    import type { Page, Post } from 'client';
    import { client } from 'client';
    
    export default function Preview() {
      const isLoading = client.useIsLoading();
      const { typeName, node } = client.auth.usePreviewNode();
    
      if (isLoading || node === undefined) {
        return <p>Loading...</p>;
      }
    
      if (node === null) {
        return <p>Post not found</p>;
      }
    
      switch (typeName) {
        case 'Page': {
          const page = node as Page;
          return (
            <>
              <h1>{page.title()}</h1>
              <div dangerouslySetInnerHTML={{ __html: page.content() }} />
            </>
          );
        }
        case 'Post': {
          const post = node as Post;
          return (
            <>
              <h1>{post.title()}</h1>
              <div dangerouslySetInnerHTML={{ __html: post.content() }} />
            </>
          );
        }
        // Add custom post types here as needed
        default: {
          throw new Error(`Unknown post type: ${typeName}`);
        }
      }
    }
    

    With usePreviewNode, we have deprecated the usePreview hook. It is still available, but it is recommended to use usePreviewNode instead.

  • Updated dependencies [3c1280b]

  • Updated dependencies [3c1280b]

faustjs - @faustjs/[email protected]

Published by github-actions[bot] almost 3 years ago

Patch Changes

  • 3c1280b: Updated client to support contentNode for usePreviewNode usage.
  • Updated dependencies [3c1280b]
faustjs - @faustjs/[email protected]

Published by github-actions[bot] almost 3 years ago

Minor Changes

  • a044a07: Add file extensions to import statements to fully support ES Modules. Support for Next.js 12 🎉

Patch Changes

faustjs - @faustjs/[email protected]

Published by github-actions[bot] almost 3 years ago

Minor Changes

  • a044a07: Add file extensions to import statements to fully support ES Modules. Support for Next.js 12 🎉

Patch Changes

faustjs - @faustjs/[email protected]

Published by github-actions[bot] almost 3 years ago

Minor Changes

  • a044a07: Add file extensions to import statements to fully support ES Modules. Support for Next.js 12 🎉
faustjs - plugin/faustwp/v0.7.1

Published by blakewilson almost 3 years ago

Patch Changes

  • f948c04: Fixed plugin icon SVG display issue in Chrome #683
faustjs - @faustjs/[email protected]

Published by github-actions[bot] almost 3 years ago

Patch Changes

  • 844df61: Fixed an issue that caused an Internal Server Error when fetching access/refresh tokens when permalinks are not set