mirror of
https://github.com/d0zingcat/NotionNext.git
synced 2026-06-07 15:10:32 +00:00
Merge pull request #2162 from tangly1024/feat/frame-work
Feat/frame work
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
# 环境变量 @see https://www.nextjs.cn/docs/basic-features/environment-variables
|
# 环境变量 @see https://www.nextjs.cn/docs/basic-features/environment-variables
|
||||||
NEXT_PUBLIC_VERSION=4.3.1
|
NEXT_PUBLIC_VERSION=4.3.2
|
||||||
|
|
||||||
|
|
||||||
# 可在此添加环境变量,去掉最左边的(# )注释即可
|
# 可在此添加环境变量,去掉最左边的(# )注释即可
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import busuanzi from '@/lib/busuanzi'
|
import busuanzi from '@/lib/plugins/busuanzi'
|
||||||
import { useRouter } from 'next/router'
|
import { useRouter } from 'next/router'
|
||||||
import { useGlobal } from '@/lib/global'
|
import { useGlobal } from '@/lib/global'
|
||||||
// import { useRouter } from 'next/router'
|
// import { useRouter } from 'next/router'
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { useEffect } from 'react'
|
import { useEffect } from 'react'
|
||||||
import { useRouter } from 'next/router'
|
import { useRouter } from 'next/router'
|
||||||
import * as gtag from '@/lib/gtag'
|
import * as gtag from '@/lib/plugins/gtag'
|
||||||
|
|
||||||
const Gtag = () => {
|
const Gtag = () => {
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ const Code = dynamic(() =>
|
|||||||
const Equation = dynamic(() =>
|
const Equation = dynamic(() =>
|
||||||
import('@/components/Equation').then(async (m) => {
|
import('@/components/Equation').then(async (m) => {
|
||||||
// 化学方程式
|
// 化学方程式
|
||||||
await import('@/lib/mhchem')
|
await import('@/lib/plugins/mhchem')
|
||||||
return m.Equation
|
return m.Equation
|
||||||
}), { ssr: false }
|
}), { ssr: false }
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -2,16 +2,19 @@ import BLOG from '@/blog.config'
|
|||||||
import { getDataFromCache, setDataToCache } from '@/lib/cache/cache_manager'
|
import { getDataFromCache, setDataToCache } from '@/lib/cache/cache_manager'
|
||||||
import { getPostBlocks, getSingleBlock } from '@/lib/notion/getPostBlocks'
|
import { getPostBlocks, getSingleBlock } from '@/lib/notion/getPostBlocks'
|
||||||
import { idToUuid } from 'notion-utils'
|
import { idToUuid } from 'notion-utils'
|
||||||
import { deepClone } from '../utils'
|
import { deepClone } from '@/lib/utils'
|
||||||
import { getAllCategories } from './getAllCategories'
|
import { getAllCategories } from '@/lib/notion/getAllCategories'
|
||||||
import getAllPageIds from './getAllPageIds'
|
import getAllPageIds from '@/lib/notion/getAllPageIds'
|
||||||
import { getAllTags } from './getAllTags'
|
import { getAllTags } from '@/lib/notion/getAllTags'
|
||||||
import getPageProperties from './getPageProperties'
|
import getPageProperties from '@/lib/notion/getPageProperties'
|
||||||
import { compressImage, mapImgUrl } from './mapImage'
|
import { compressImage, mapImgUrl } from '@/lib/notion/mapImage'
|
||||||
import { getConfigMapFromConfigPage } from './getNotionConfig'
|
import { getConfigMapFromConfigPage } from '@/lib/notion/getNotionConfig'
|
||||||
|
|
||||||
|
export { getAllTags } from '../notion/getAllTags'
|
||||||
|
export { getPostBlocks } from '../notion/getPostBlocks'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取博客数据
|
* 获取博客数据; 基于Notion实现
|
||||||
* @param {*} pageId
|
* @param {*} pageId
|
||||||
* @param {*} from
|
* @param {*} from
|
||||||
* @param latestPostCount 截取最新文章数量
|
* @param latestPostCount 截取最新文章数量
|
||||||
@@ -5,7 +5,7 @@ import zhTW from './lang/zh-TW'
|
|||||||
import frFR from './lang/fr-FR'
|
import frFR from './lang/fr-FR'
|
||||||
import trTR from './lang/tr-TR'
|
import trTR from './lang/tr-TR'
|
||||||
import jaJP from './lang/ja-JP'
|
import jaJP from './lang/ja-JP'
|
||||||
import { getQueryVariable, isBrowser, mergeDeep } from './utils'
|
import { getQueryVariable, isBrowser, mergeDeep } from '@/lib/utils'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 在这里配置所有支持的语言
|
* 在这里配置所有支持的语言
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
export { getAllTags } from './notion/getAllTags'
|
|
||||||
export { getPostBlocks } from './notion/getPostBlocks'
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
import getAllPageIds from './getAllPageIds'
|
import getAllPageIds from './getAllPageIds'
|
||||||
import getPageProperties from './getPageProperties'
|
import getPageProperties from './getPageProperties'
|
||||||
import { getNotionPageData } from '@/lib/notion/getNotionData'
|
import { getNotionPageData } from '@/lib/db/getSiteData'
|
||||||
import { delCacheData } from '@/lib/cache/cache_manager'
|
import { delCacheData } from '@/lib/cache/cache_manager'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
import { idToUuid } from 'notion-utils'
|
import { idToUuid } from 'notion-utils'
|
||||||
import formatDate from '../formatDate'
|
import formatDate from '../utils/formatDate'
|
||||||
import { getPostBlocks } from './getPostBlocks'
|
import { getPostBlocks } from './getPostBlocks'
|
||||||
import { defaultMapImageUrl } from 'react-notion-x'
|
import { defaultMapImageUrl } from 'react-notion-x'
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { getTextContent, getDateValue } from 'notion-utils'
|
import { getTextContent, getDateValue } from 'notion-utils'
|
||||||
import { NotionAPI } from 'notion-client'
|
import { NotionAPI } from 'notion-client'
|
||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
import formatDate from '../formatDate'
|
import formatDate from '../utils/formatDate'
|
||||||
// import { createHash } from 'crypto'
|
// import { createHash } from 'crypto'
|
||||||
import md5 from 'js-md5'
|
import md5 from 'js-md5'
|
||||||
import { mapImgUrl } from './mapImage'
|
import { mapImgUrl } from './mapImage'
|
||||||
|
|||||||
@@ -27,6 +27,12 @@ export async function getPostBlocks(id, from, slice) {
|
|||||||
return pageBlock
|
return pageBlock
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 针对在getDataBaseInfoByNotionAPI=>getPostBlocks中获取不到的溢出的block-id,用此方法另外抓取
|
||||||
|
* @param {*} id
|
||||||
|
* @param {*} from
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
export async function getSingleBlock(id, from) {
|
export async function getSingleBlock(id, from) {
|
||||||
const cacheKey = 'single_block_' + id
|
const cacheKey = 'single_block_' + id
|
||||||
let pageBlock = await getDataFromCache(cacheKey)
|
let pageBlock = await getDataFromCache(cacheKey)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const { loadExternalResource } = require('./utils');
|
const { loadExternalResource } = require('../utils');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* WOWjs动画,结合animate.css使用很方便
|
* WOWjs动画,结合animate.css使用很方便
|
||||||
@@ -2,7 +2,7 @@ import fs from 'fs'
|
|||||||
import { Feed } from 'feed'
|
import { Feed } from 'feed'
|
||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
import ReactDOMServer from 'react-dom/server'
|
import ReactDOMServer from 'react-dom/server'
|
||||||
import { getPostBlocks } from './notion'
|
import { getPostBlocks } from '@/lib/db/getSiteData'
|
||||||
import NotionPage from '@/components/NotionPage'
|
import NotionPage from '@/components/NotionPage'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "notion-next",
|
"name": "notion-next",
|
||||||
"version": "4.3.1",
|
"version": "4.3.2",
|
||||||
"homepage": "https://github.com/tangly1024/NotionNext.git",
|
"homepage": "https://github.com/tangly1024/NotionNext.git",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { getGlobalData } from '@/lib/notion/getNotionData'
|
import { getGlobalData } from '@/lib/db/getSiteData'
|
||||||
import { useRouter } from 'next/router'
|
import { useRouter } from 'next/router'
|
||||||
import { getLayoutByTheme } from '@/themes/theme'
|
import { getLayoutByTheme } from '@/themes/theme'
|
||||||
import { siteConfig } from '@/lib/config'
|
import { siteConfig } from '@/lib/config'
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
import { getPostBlocks } from '@/lib/notion'
|
import { getGlobalData, getPostBlocks } from '@/lib/db/getSiteData'
|
||||||
import { getGlobalData } from '@/lib/notion/getNotionData'
|
|
||||||
import { idToUuid } from 'notion-utils'
|
import { idToUuid } from 'notion-utils'
|
||||||
import { getNotion } from '@/lib/notion/getNotion'
|
import { getNotion } from '@/lib/notion/getNotion'
|
||||||
import Slug, { getRecommendPost } from '..'
|
import Slug, { getRecommendPost } from '..'
|
||||||
import { uploadDataToAlgolia } from '@/lib/algolia'
|
import { uploadDataToAlgolia } from '@/lib/plugins/algolia'
|
||||||
import { checkContainHttp } from '@/lib/utils'
|
import { checkContainHttp } from '@/lib/utils'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
import { getPostBlocks } from '@/lib/notion'
|
import { getGlobalData, getPostBlocks } from '@/lib/db/getSiteData'
|
||||||
import { getGlobalData } from '@/lib/notion/getNotionData'
|
|
||||||
import { idToUuid } from 'notion-utils'
|
import { idToUuid } from 'notion-utils'
|
||||||
import { getNotion } from '@/lib/notion/getNotion'
|
import { getNotion } from '@/lib/notion/getNotion'
|
||||||
import Slug, { getRecommendPost } from '..'
|
import Slug, { getRecommendPost } from '..'
|
||||||
import { uploadDataToAlgolia } from '@/lib/algolia'
|
import { uploadDataToAlgolia } from '@/lib/plugins/algolia'
|
||||||
import { checkContainHttp } from '@/lib/utils'
|
import { checkContainHttp } from '@/lib/utils'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
import { getPostBlocks } from '@/lib/notion'
|
import { getGlobalData, getPostBlocks } from '@/lib/db/getSiteData'
|
||||||
import { getGlobalData } from '@/lib/notion/getNotionData'
|
|
||||||
import { useEffect, useState } from 'react'
|
import { useEffect, useState } from 'react'
|
||||||
import { idToUuid } from 'notion-utils'
|
import { idToUuid } from 'notion-utils'
|
||||||
import { useRouter } from 'next/router'
|
import { useRouter } from 'next/router'
|
||||||
@@ -9,7 +8,7 @@ import { getPageTableOfContents } from '@/lib/notion/getPageTableOfContents'
|
|||||||
import { getLayoutByTheme } from '@/themes/theme'
|
import { getLayoutByTheme } from '@/themes/theme'
|
||||||
import md5 from 'js-md5'
|
import md5 from 'js-md5'
|
||||||
import { checkContainHttp } from '@/lib/utils'
|
import { checkContainHttp } from '@/lib/utils'
|
||||||
import { uploadDataToAlgolia } from '@/lib/algolia'
|
import { uploadDataToAlgolia } from '@/lib/plugins/algolia'
|
||||||
import { siteConfig } from '@/lib/config'
|
import { siteConfig } from '@/lib/config'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import subscribeToMailchimpApi from '@/lib/mailchimp'
|
import subscribeToMailchimpApi from '@/lib/plugins/mailchimp'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 接受邮件订阅
|
* 接受邮件订阅
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import { getGlobalData } from '@/lib/notion/getNotionData'
|
import { getGlobalData } from '@/lib/db/getSiteData'
|
||||||
import { useEffect } from 'react'
|
import { useEffect } from 'react'
|
||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
import { useRouter } from 'next/router'
|
import { useRouter } from 'next/router'
|
||||||
import { getLayoutByTheme } from '@/themes/theme'
|
import { getLayoutByTheme } from '@/themes/theme'
|
||||||
import { isBrowser } from '@/lib/utils'
|
import { isBrowser } from '@/lib/utils'
|
||||||
import { formatDateFmt } from '@/lib/formatDate'
|
import { formatDateFmt } from '@/lib/utils/formatDate'
|
||||||
import { siteConfig } from '@/lib/config'
|
import { siteConfig } from '@/lib/config'
|
||||||
|
|
||||||
const ArchiveIndex = props => {
|
const ArchiveIndex = props => {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { getGlobalData } from '@/lib/notion/getNotionData'
|
import { getGlobalData } from '@/lib/db/getSiteData'
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
import { useRouter } from 'next/router'
|
import { useRouter } from 'next/router'
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { getGlobalData } from '@/lib/notion/getNotionData'
|
import { getGlobalData } from '@/lib/db/getSiteData'
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
import { useRouter } from 'next/router'
|
import { useRouter } from 'next/router'
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { getGlobalData } from '@/lib/notion/getNotionData'
|
import { getGlobalData } from '@/lib/db/getSiteData'
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
import { useRouter } from 'next/router'
|
import { useRouter } from 'next/router'
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
import { getPostBlocks } from '@/lib/notion'
|
import { getGlobalData, getPostBlocks } from '@/lib/db/getSiteData'
|
||||||
import { getGlobalData } from '@/lib/notion/getNotionData'
|
|
||||||
import { generateRss } from '@/lib/rss'
|
import { generateRss } from '@/lib/rss'
|
||||||
import { generateRobotsTxt } from '@/lib/robots.txt'
|
import { generateRobotsTxt } from '@/lib/robots.txt'
|
||||||
import { getLayoutByTheme } from '@/themes/theme'
|
import { getLayoutByTheme } from '@/themes/theme'
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
import { getPostBlocks } from '@/lib/notion'
|
import { getGlobalData, getPostBlocks } from '@/lib/db/getSiteData'
|
||||||
import { getGlobalData } from '@/lib/notion/getNotionData'
|
|
||||||
import { useRouter } from 'next/router'
|
import { useRouter } from 'next/router'
|
||||||
import { getLayoutByTheme } from '@/themes/theme'
|
import { getLayoutByTheme } from '@/themes/theme'
|
||||||
import { siteConfig } from '@/lib/config'
|
import { siteConfig } from '@/lib/config'
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { getGlobalData } from '@/lib/notion/getNotionData'
|
import { getGlobalData } from '@/lib/db/getSiteData'
|
||||||
import { getDataFromCache } from '@/lib/cache/cache_manager'
|
import { getDataFromCache } from '@/lib/cache/cache_manager'
|
||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
import { useRouter } from 'next/router'
|
import { useRouter } from 'next/router'
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { getGlobalData } from '@/lib/notion/getNotionData'
|
import { getGlobalData } from '@/lib/db/getSiteData'
|
||||||
import { getDataFromCache } from '@/lib/cache/cache_manager'
|
import { getDataFromCache } from '@/lib/cache/cache_manager'
|
||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
import { useRouter } from 'next/router'
|
import { useRouter } from 'next/router'
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { getGlobalData } from '@/lib/notion/getNotionData'
|
import { getGlobalData } from '@/lib/db/getSiteData'
|
||||||
import { useRouter } from 'next/router'
|
import { useRouter } from 'next/router'
|
||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
import { getLayoutByTheme } from '@/themes/theme'
|
import { getLayoutByTheme } from '@/themes/theme'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
import { getGlobalData } from '@/lib/notion/getNotionData'
|
import { getGlobalData } from '@/lib/db/getSiteData'
|
||||||
import { useRouter } from 'next/router'
|
import { useRouter } from 'next/router'
|
||||||
import { getLayoutByTheme } from '@/themes/theme'
|
import { getLayoutByTheme } from '@/themes/theme'
|
||||||
import { siteConfig } from '@/lib/config'
|
import { siteConfig } from '@/lib/config'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
import { getGlobalData } from '@/lib/notion/getNotionData'
|
import { getGlobalData } from '@/lib/db/getSiteData'
|
||||||
import { useRouter } from 'next/router'
|
import { useRouter } from 'next/router'
|
||||||
import { getLayoutByTheme } from '@/themes/theme'
|
import { getLayoutByTheme } from '@/themes/theme'
|
||||||
import { siteConfig } from '@/lib/config'
|
import { siteConfig } from '@/lib/config'
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// pages/sitemap.xml.js
|
// pages/sitemap.xml.js
|
||||||
import { getServerSideSitemap } from 'next-sitemap'
|
import { getServerSideSitemap } from 'next-sitemap'
|
||||||
import { getGlobalData } from '@/lib/notion/getNotionData'
|
import { getGlobalData } from '@/lib/db/getSiteData'
|
||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
|
|
||||||
export const getServerSideProps = async (ctx) => {
|
export const getServerSideProps = async (ctx) => {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { getGlobalData } from '@/lib/notion/getNotionData'
|
import { getGlobalData } from '@/lib/db/getSiteData'
|
||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
import { useRouter } from 'next/router'
|
import { useRouter } from 'next/router'
|
||||||
import { getLayoutByTheme } from '@/themes/theme'
|
import { getLayoutByTheme } from '@/themes/theme'
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { getGlobalData } from '@/lib/notion/getNotionData'
|
import { getGlobalData } from '@/lib/db/getSiteData'
|
||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
import { useRouter } from 'next/router'
|
import { useRouter } from 'next/router'
|
||||||
import { getLayoutByTheme } from '@/themes/theme'
|
import { getLayoutByTheme } from '@/themes/theme'
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { getGlobalData } from '@/lib/notion/getNotionData'
|
import { getGlobalData } from '@/lib/db/getSiteData'
|
||||||
import BLOG from '@/blog.config'
|
import BLOG from '@/blog.config'
|
||||||
import { useRouter } from 'next/router'
|
import { useRouter } from 'next/router'
|
||||||
import { getLayoutByTheme } from '@/themes/theme'
|
import { getLayoutByTheme } from '@/themes/theme'
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import Link from 'next/link'
|
import Link from 'next/link'
|
||||||
import { useGlobal } from '@/lib/global'
|
import { useGlobal } from '@/lib/global'
|
||||||
import { formatDateFmt } from '@/lib/formatDate'
|
import { formatDateFmt } from '@/lib/utils/formatDate'
|
||||||
|
|
||||||
export const ArticleInfo = (props) => {
|
export const ArticleInfo = (props) => {
|
||||||
const { post } = props
|
const { post } = props
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import Link from 'next/link'
|
|||||||
import ArticleAround from './ArticleAround'
|
import ArticleAround from './ArticleAround'
|
||||||
import { AdSlot } from '@/components/GoogleAdsense'
|
import { AdSlot } from '@/components/GoogleAdsense'
|
||||||
import LazyImage from '@/components/LazyImage'
|
import LazyImage from '@/components/LazyImage'
|
||||||
import { formatDateFmt } from '@/lib/formatDate'
|
import { formatDateFmt } from '@/lib/utils/formatDate'
|
||||||
import WWAds from '@/components/WWAds'
|
import WWAds from '@/components/WWAds'
|
||||||
import NotionIcon from '@/components/NotionIcon'
|
import NotionIcon from '@/components/NotionIcon'
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useEffect, useRef, useState } from 'react'
|
import { useEffect, useRef, useState } from 'react'
|
||||||
import { subscribeToNewsletter } from '@/lib/mailchimp'
|
import { subscribeToNewsletter } from '@/lib/plugins/mailchimp'
|
||||||
import { siteConfig } from '@/lib/config'
|
import { siteConfig } from '@/lib/config'
|
||||||
import CONFIG from '../config'
|
import CONFIG from '../config'
|
||||||
import { useGlobal } from '@/lib/global'
|
import { useGlobal } from '@/lib/global'
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import WavesArea from './WavesArea'
|
|||||||
import { HashTag } from '@/components/HeroIcons'
|
import { HashTag } from '@/components/HeroIcons'
|
||||||
import WordCount from '@/components/WordCount'
|
import WordCount from '@/components/WordCount'
|
||||||
import LazyImage from '@/components/LazyImage'
|
import LazyImage from '@/components/LazyImage'
|
||||||
import { formatDateFmt } from '@/lib/formatDate'
|
import { formatDateFmt } from '@/lib/utils/formatDate'
|
||||||
|
|
||||||
export default function PostHeader({ post, siteInfo }) {
|
export default function PostHeader({ post, siteInfo }) {
|
||||||
if (!post) {
|
if (!post) {
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ import WWAds from '@/components/WWAds'
|
|||||||
import { AdSlot } from '@/components/GoogleAdsense'
|
import { AdSlot } from '@/components/GoogleAdsense'
|
||||||
import { siteConfig } from '@/lib/config'
|
import { siteConfig } from '@/lib/config'
|
||||||
import { isBrowser } from '@/lib/utils'
|
import { isBrowser } from '@/lib/utils'
|
||||||
import { loadWowJS } from '@/lib/wow'
|
import { loadWowJS } from '@/lib/plugins/wow'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 基础布局 采用上中下布局,移动端使用顶部侧边导航栏
|
* 基础布局 采用上中下布局,移动端使用顶部侧边导航栏
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import Link from 'next/link'
|
|||||||
import TagItemMini from './TagItemMini'
|
import TagItemMini from './TagItemMini'
|
||||||
import TwikooCommentCount from '@/components/TwikooCommentCount'
|
import TwikooCommentCount from '@/components/TwikooCommentCount'
|
||||||
import { siteConfig } from '@/lib/config'
|
import { siteConfig } from '@/lib/config'
|
||||||
import { formatDateFmt } from '@/lib/formatDate'
|
import { formatDateFmt } from '@/lib/utils/formatDate'
|
||||||
import { checkContainHttp, sliceUrlFromHttp } from '@/lib/utils'
|
import { checkContainHttp, sliceUrlFromHttp } from '@/lib/utils'
|
||||||
import NotionIcon from '@/components/NotionIcon'
|
import NotionIcon from '@/components/NotionIcon'
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import TagItemMini from './TagItemMini'
|
|||||||
import { useGlobal } from '@/lib/global'
|
import { useGlobal } from '@/lib/global'
|
||||||
import NotionIcon from '@/components/NotionIcon'
|
import NotionIcon from '@/components/NotionIcon'
|
||||||
import LazyImage from '@/components/LazyImage'
|
import LazyImage from '@/components/LazyImage'
|
||||||
import { formatDateFmt } from '@/lib/formatDate'
|
import { formatDateFmt } from '@/lib/utils/formatDate'
|
||||||
import { siteConfig } from '@/lib/config'
|
import { siteConfig } from '@/lib/config'
|
||||||
|
|
||||||
export default function PostHeader({ post, siteInfo }) {
|
export default function PostHeader({ post, siteInfo }) {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { subscribeToNewsletter } from '@/lib/mailchimp'
|
import { subscribeToNewsletter } from '@/lib/plugins/mailchimp'
|
||||||
import Link from 'next/link'
|
import Link from 'next/link'
|
||||||
import { useEffect, useRef, useState } from 'react'
|
import { useEffect, useRef, useState } from 'react'
|
||||||
import CONFIG from '../config'
|
import CONFIG from '../config'
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { subscribeToNewsletter } from '@/lib/mailchimp'
|
import { subscribeToNewsletter } from '@/lib/plugins/mailchimp'
|
||||||
import { useEffect, useRef, useState } from 'react'
|
import { useEffect, useRef, useState } from 'react'
|
||||||
import CONFIG from '../config'
|
import CONFIG from '../config'
|
||||||
import { siteConfig } from '@/lib/config'
|
import { siteConfig } from '@/lib/config'
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import Link from 'next/link'
|
|||||||
import { useGlobal } from '@/lib/global'
|
import { useGlobal } from '@/lib/global'
|
||||||
import TagItemMiddle from './TagItemMiddle'
|
import TagItemMiddle from './TagItemMiddle'
|
||||||
import WordCount from './WordCount'
|
import WordCount from './WordCount'
|
||||||
import { formatDateFmt } from '@/lib/formatDate'
|
import { formatDateFmt } from '@/lib/utils/formatDate'
|
||||||
|
|
||||||
export const ArticleInfo = (props) => {
|
export const ArticleInfo = (props) => {
|
||||||
const { post } = props
|
const { post } = props
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import TagItemMini from './TagItemMini'
|
|||||||
import CONFIG from '../config'
|
import CONFIG from '../config'
|
||||||
import TwikooCommentCount from '@/components/TwikooCommentCount'
|
import TwikooCommentCount from '@/components/TwikooCommentCount'
|
||||||
import LazyImage from '@/components/LazyImage'
|
import LazyImage from '@/components/LazyImage'
|
||||||
import { formatDateFmt } from '@/lib/formatDate'
|
import { formatDateFmt } from '@/lib/utils/formatDate'
|
||||||
import { checkContainHttp, sliceUrlFromHttp } from '@/lib/utils'
|
import { checkContainHttp, sliceUrlFromHttp } from '@/lib/utils'
|
||||||
import NotionIcon from '@/components/NotionIcon'
|
import NotionIcon from '@/components/NotionIcon'
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import NotionPage from '@/components/NotionPage'
|
|||||||
import CONFIG from '../config'
|
import CONFIG from '../config'
|
||||||
import NotionIcon from '@/components/NotionIcon'
|
import NotionIcon from '@/components/NotionIcon'
|
||||||
import LazyImage from '@/components/LazyImage'
|
import LazyImage from '@/components/LazyImage'
|
||||||
import { formatDateFmt } from '@/lib/formatDate'
|
import { formatDateFmt } from '@/lib/utils/formatDate'
|
||||||
import { siteConfig } from '@/lib/config'
|
import { siteConfig } from '@/lib/config'
|
||||||
import WWAds from '@/components/WWAds'
|
import WWAds from '@/components/WWAds'
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import CONFIG from '../config'
|
|||||||
import NotionPage from '@/components/NotionPage'
|
import NotionPage from '@/components/NotionPage'
|
||||||
import NotionIcon from '@/components/NotionIcon'
|
import NotionIcon from '@/components/NotionIcon'
|
||||||
import TwikooCommentCount from '@/components/TwikooCommentCount'
|
import TwikooCommentCount from '@/components/TwikooCommentCount'
|
||||||
import { formatDateFmt } from '@/lib/formatDate'
|
import { formatDateFmt } from '@/lib/utils/formatDate'
|
||||||
import { siteConfig } from '@/lib/config'
|
import { siteConfig } from '@/lib/config'
|
||||||
import { checkContainHttp, sliceUrlFromHttp } from '@/lib/utils'
|
import { checkContainHttp, sliceUrlFromHttp } from '@/lib/utils'
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import Link from 'next/link'
|
|||||||
import { useGlobal } from '@/lib/global'
|
import { useGlobal } from '@/lib/global'
|
||||||
import CONFIG from '../config'
|
import CONFIG from '../config'
|
||||||
import { siteConfig } from '@/lib/config'
|
import { siteConfig } from '@/lib/config'
|
||||||
import { formatDateFmt } from '@/lib/formatDate'
|
import { formatDateFmt } from '@/lib/utils/formatDate'
|
||||||
import NotionIcon from '@/components/NotionIcon'
|
import NotionIcon from '@/components/NotionIcon'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import Link from 'next/link'
|
import Link from 'next/link'
|
||||||
import CONFIG from '../config'
|
import CONFIG from '../config'
|
||||||
import TwikooCommentCount from '@/components/TwikooCommentCount'
|
import TwikooCommentCount from '@/components/TwikooCommentCount'
|
||||||
import { formatDateFmt } from '@/lib/formatDate'
|
import { formatDateFmt } from '@/lib/utils/formatDate'
|
||||||
import { siteConfig } from '@/lib/config'
|
import { siteConfig } from '@/lib/config'
|
||||||
import LazyImage from '@/components/LazyImage'
|
import LazyImage from '@/components/LazyImage'
|
||||||
import { checkContainHttp, sliceUrlFromHttp } from '@/lib/utils'
|
import { checkContainHttp, sliceUrlFromHttp } from '@/lib/utils'
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ import { Banner } from './components/Banner'
|
|||||||
import { SignInForm } from './components/SignInForm'
|
import { SignInForm } from './components/SignInForm'
|
||||||
import { SignUpForm } from './components/SignUpForm'
|
import { SignUpForm } from './components/SignUpForm'
|
||||||
import Link from 'next/link'
|
import Link from 'next/link'
|
||||||
import { loadWowJS } from '@/lib/wow'
|
import { loadWowJS } from '@/lib/plugins/wow'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 布局框架
|
* 布局框架
|
||||||
|
|||||||
Reference in New Issue
Block a user