„NextJS“ bazinis tinklaraštis: modernus tinklaraščio kūrėjas su „Next.js 15“ ir „Tailwind“

Jei ieškote modernaus tinklaraščio pradžios šablono, sukurto naudojant „Next.js“, „NextJS Base Blog“ projektas yra puikus atspirties taškas. Tai visavertė atvirojo kodo tinklaraščio programa, sukurta naudojant „Next.js 15“, „React 19“, „TypeScript“ ir „Tailwind CSS 4“ .

Projektas pasižymi švaria architektūra, modernia vartotojo sąsaja componentsir imitaciniu API sluoksniu, todėl idealiai tinka kūrėjams, norintiems greitai sukurti tinklaraštį nekuriant serverio.

„GitHub“ saugykla: https://github.com/bfotool/nextjs-base-blog

Šis projektas ypač naudingas:

  • Kūrėjai mokosi „Next.js“ programėlėsRouter

  • Greitas tinklaraščio ar turinio svetainės kūrimas

  • Next.js standartinio projekto kūrimas

  • Vartotojo sąsajos funkcijų kūrimas prieš prijungiant tikrąją serverio API

Projekto apžvalga

„NextJS Base Blog“ sukurtas kaip gamybai paruoštas tinklaraščio šablonas su daugeliu įprastų funkcijų, būdingų šiuolaikinėms turinio svetainėms.

Projektas apima:

  • pagrindinis puslapis su svarbiausiais įrašais

  • tinklaraščio įrašų puslapiai

  • kategorijų filtravimas

  • viso teksto paieška

  • puslapiavimas

  • turinys

  • susiję įrašai

  • tamsi/šviesi tema

Viena įdomiausių projekto dalių yra netikro API sluoksnis(angl. Fake API Layer), kuris imituoja REST API naudodamas „Axios“ perėmėjus. Tai leidžia kūrėjams kurti ir testuoti programą nereikalaujant serverio .

Pagrindinės savybės

Pagrindinis puslapis

Pradiniame puslapyje yra keli svarbūs skyriai:

  • pagrindinis įrašas

  • kategorijų filtrai

  • tinklaraščio įrašų tinklelis

  • puslapiuota navigacija

Išdėstymas yra visiškai pritaikomas ir optimizuotas tiek staliniams, tiek mobiliesiems įrenginiams.

Tinklaraščio įrašo puslapis

Kiekvienas straipsnis pasiekiamas dinaminiu maršrutu:

/blog/[slug]

Tinklaraščio įrašo puslapyje yra keletas naudingų funkcijų:

  • visas straipsnio turinys

  • automatinis turinys

  • numatomas skaitymo laikas

  • socialinių tinklų bendrinimo mygtukai

  • susijusių įrašų pasiūlymai

Šios funkcijos padeda sukurti profesionalią skaitymo patirtį, panašią į šiuolaikines tinklaraščių platformas.

Kategorijos puslapiai

Vartotojai gali naršyti įrašus pagal kategorijas.

Maršruto pavyzdys:

/blog/category/[slug]

Ši funkcija leidžia skaitytojams tyrinėti turinį konkrečiomis temomis.

Paieškos funkcija

Projekte yra integruotas paieškos puslapis:

/search

Paieška palaiko:

  • rezultatai realiuoju laiku

  • atšokęs įvestis

  • paieška pagal pavadinimus, ištraukas ir žymas

Tai pagerina naudojimo paprastumą ir padeda vartotojams greitai rasti reikiamą turinį.

Apie ir kontaktų puslapius

Projekte taip pat yra papildomų puslapių, dažnai randamų profesiniuose tinklaraščiuose.

Apie puslapį

Puslapyje „Apie“ pristatoma:

  • komanda

  • projekto istorija

  • pagrindinės vertybės

Kontaktų puslapis

Kontaktų puslapyje yra visiškai patvirtinta forma su:

  • formos patvirtinimas

  • pranešimai apie skrebučius

  • sėkmės ir klaidų atsiliepimai

Tamsaus režimo palaikymas

Tinklaraštis palaiko tamsųjį ir šviesųjį režimus .

Funkcijos apima:

  • automatinis sistemos temos aptikimas

  • rankinis perjungimas

  • temos išlaikymas naudojant vietinę saugyklą

Netikras API sluoksnis(kūrimas be serverio)

Viena įdomiausių šio projekto dalių yra jo „Fake API“ sistema .

Užuot skambinusi į tikrą serverį, programa naudoja „Axios“ perėmėjus, kad imituotų REST API atsakymus.

Kaip veikia netikra API

  1. „Axios“ egzempliorius sukuriamas:

src/services/api-client.ts
  1. Kai aplinkos kintamasis įjungtas:

NEXT_PUBLIC_USE_MOCK_API=true
  1. Užklausos yra perimamos prieš pasiekiant tinklą.

  2. Netikri tvarkytojai grąžina netikrus atsakymus su realiais vėlavimais(200–600 ms).

  3. Atsakymai elgiasi kaip tikri API atsakymai.

Bandomieji duomenys saugomi:

src/mocks/

Įskaitant:

  • pavyzdiniai įrašai

  • autoriai

  • kategorijos

Galimi API galiniai taškai

Mock API palaiko kelis galinius taškus:

Metodas Galutinis taškas Aprašymas
GAUTI /įrašai Puslapiuoti tinklaraščio įrašai
GAUTI /įrašai/rekomenduojami Rekomenduojami įrašai
GAUTI /įrašai/:šliužas Vienas tinklaraščio įrašas
GAUTI /kategorijos Kategorijų sąrašas
GAUTI /autoriai Autorių sąrašas
PAŠTAS /kontaktas Pateikti kontaktinę formą

Technologijų rinkinys

Projekte naudojamas modernus front-end stekas.

Sluoksnis Technologijos
Sistema Next.js 15
UI biblioteka Reaguoti 19
Kalba TypeScript
Stilius „Tailwind CSS 4“
HTTP klientas Axios
Piktogramos Lucide React
Pūkeliai ESLint
Formatavimas Gražesnis

Šis krūvis suteikia:

  • stiprus tipo saugumas

  • prižiūrima architektūra

  • moderni kūrėjo patirtis

Projekto struktūra

Projekto struktūra atitinka švarią ir keičiamo dydžio architektūrą.

src/ 
├── app/ 
├── components/ 
├── services/ 
├── mocks/ 
├── contexts/ 
├── hooks/ 
├── types/ 
└── lib/ 

ProgramėlėRouter

Kataloge appyra visi programų maršrutai.

Pavyzdžiai:

app/page.tsx 
app/blog/[slug]/page.tsx 
app/search/page.tsx 

Tai atitinka „Next.js“ programų Routerarchitektūrą, pristatytą naujesnėse „Next.js“ versijose.

Komponentai

Vartotojo sąsaja componentsyra suskirstyta į logines grupes:

components/layout 
components/common 
components/blog 

Ši struktūra užtikrina, kad vartotojo sąsajos kodas būtų tvarkingas ir lengviau prižiūrimas.

Paslaugų sluoksnis

Aplanke servicesyra su API susijusi logika:

  • API kliento konfigūracija

  • pašto tarnyba

  • kategorijos paslauga

  • kontaktinės formos paslauga

Šis sluoksnis atskiria duomenų gavimo logiką nuo vartotojo sąsajoscomponents, o tai pagerina mastelio keitimą.

Diegimo vadovas

Reikalavimai

Prieš pradėdami įsitikinkite, kad turite:

  • „Node.js 18“ arba naujesnė versija

  • npm, siūlai arba pnpm

Klonuoti saugyklą

git clone https://github.com/bfotool/nextjs-base-blog.git 
cd nextjs-base-blog 

Įdiegti priklausomybes

npm install

Konfigūruoti aplinkos kintamuosius

cp .env.example .env

Paleiskite kūrimo serverį

npm run dev

Atidarykite naršyklę ir apsilankykite:

http://localhost:3000

Galimi scenarijai

Komanda Aprašymas
npm paleisti dev Paleisti kūrimo serverį
npm paleidimo kūrimas Sukurti gamybos versiją
npm vykdymo pradžia Paleisti gamybinį serverį
npm paleisti pūką Paleisti ESLint
npm vykdymo formatas Formatuokite kodą su „Prettier“
npm vykdymo tipo patikrinimas Vykdyti „TypeScript“ patikrinimus

Perėjimas prie tikros API

Jei norite prijungti projektą prie tikros vidinės API sąsajos, atlikite šiuos veiksmus.

1 veiksmas: išjunkite bandomąją API

Redaguoti .envfailą:

NEXT_PUBLIC_USE_MOCK_API=false

2 veiksmas: nustatykite API bazinį URL

NEXT_PUBLIC_API_BASE_URL=https://your-api-server.com

3 veiksmas: suderinkite duomenų tipus

Įsitikinkite, kad jūsų vidinė API grąžina duomenis, atitinkančius „TypeScript“ apibrėžimus:

src/types/index.ts

Papildomų kodo pakeitimų nereikia.

Turinio tinkinimas

Bandomojo turinio redagavimas galimas viduje:

src/mocks/posts.ts 
src/mocks/categories.ts 
src/mocks/authors.ts 

Tai leidžia kūrėjams greitai pritaikyti demonstracinį turinį.

Temos ir vartotojo sąsajos pritaikymas

Visuotinį stilių galima rasti:

src/app/globals.css

Projekte naudojami šie šriftai:

  • DM Sans

  • JetBrains Mono

Galite modifikuoti stilius arba pakeisti šriftus, atsižvelgdami į savo dizaino reikalavimus.

Išvada

„NextJS Base Blog“ yra galingas ir modernus pradinis šablonas tinklaraščiui kurti naudojant „Next.js“.

Pagrindiniai projekto privalumai:

  • šiuolaikinių technologijų rinkinys

  • švari architektūra

  • bandomoji API plėtrai

  • lengva integracija su realiomis vidinėmis API sąsajomis

  • reaguojanti vartotojo sąsaja ir modernios funkcijos

Jei kuriate tinklaraštį, kūrėjo svetainę ar turinio platformą naudodami „Next.js“, ši saugykla gali sutaupyti daug kūrimo laiko.

Naršykite šaltinio kodą čia: https://github.com/bfotool/nextjs-base-blog