{"id":49337,"date":"2023-03-09T13:07:24","date_gmt":"2023-03-09T12:07:24","guid":{"rendered":"https:\/\/kinsta.com\/dk\/?p=49337&#038;preview=true&#038;preview_id=49337"},"modified":"2023-10-16T13:12:53","modified_gmt":"2023-10-16T12:12:53","slug":"next-js-portfoelje","status":"publish","type":"post","link":"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/","title":{"rendered":"S\u00e5dan opbygger og distribuerer du en udviklerportef\u00f8lje med Next.js"},"content":{"rendered":"<p>En udviklerportef\u00f8lje er en samling af arbejdspr\u00f8ver og projekter, der viser dine f\u00e6rdigheder og erfaringer. En st\u00e6rk portef\u00f8lje adskiller dig fra andre kandidater, n\u00e5r du s\u00f8ger job. Men ikke kun det: En portef\u00f8lje kan ogs\u00e5 v\u00e6re et v\u00e6rdifuldt redskab til at skabe netv\u00e6rk, holde styr p\u00e5 din l\u00e6ring og etablere dig selv som ekspert p\u00e5 omr\u00e5det.<\/p>\n<p>I denne vejledning l\u00e6rer du, hvordan du opbygger en udviklerportef\u00f8lje ved hj\u00e6lp af Next.js og distribuerer den direkte fra dit GitHub-repositorium til Kinstas platform for <a href=\"https:\/\/sevalla.com\/application-hosting\/\">applikationshosting<\/a>, som giver dig et gratis <em>.kinsta.app-dom\u00e6ne<\/em>, s\u00e5 du hurtigt kan f\u00e5 dit arbejde i luften.<\/p>\n<p>Her er en live-demo af den <a href=\"https:\/\/kinsta-developer-portfolio-ir8w8.kinsta.app\/\" target=\"_blank\" rel=\"noopener noreferrer\">udviklerportef\u00f8lje<\/a>, du skal opbygge med Next.js.<\/p>\n<p>Du kan f\u00e5 adgang til dette <a href=\"https:\/\/github.com\/olawanlejoel\/Kinsta-developer-portfolio\">projekts GitHub-lager<\/a>, hvis du gerne vil se n\u00e6rmere, eller du kan bruge denne <a href=\"https:\/\/github.com\/olawanlejoel\/kinsta-portfolio-starter\">portef\u00f8lje starter projektskabelon<\/a> ved at v\u00e6lge <strong>Brug denne skabelon<\/strong> &gt; <strong>Opret et nyt repository<\/strong> \u2013 dette vil kopiere startkoden til et nyt lager. Startprojektet indeholder grundl\u00e6ggende koder som stilarterne, et Font Awesome CDN-link, billeder og grundl\u00e6ggende struktur.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Krav\/foruds\u00e6tninger<\/h2>\n<p>Dette er en &#8220;follow-along&#8221;-type tutorial. Det vil v\u00e6re lettere for dig at kode med, hvis du har:<\/p>\n<ul>\n<li>Grundl\u00e6ggende kendskab til <a href=\"https:\/\/kinsta.com\/blog\/what-is-html\/\">HTML<\/a>, <a href=\"https:\/\/kinsta.com\/dk\/blog\/css-bedste-praksisser\/\">CSS<\/a> og <a href=\"https:\/\/kinsta.com\/javascript\/\">JavaScript<\/a><\/li>\n<li>En smule kendskab til <a href=\"https:\/\/kinsta.com\/blog\/what-is-react-js\/\">React<\/a> og m\u00e5ske Next.js<\/li>\n<li>Node.js og npm (<a href=\"https:\/\/kinsta.com\/blog\/what-is-npm\/\">Node Package Manager<\/a>) eller yarn installeret p\u00e5 din computer<\/li>\n<\/ul>\n<h2>Hvorfor Next.js?<\/h2>\n<p><a href=\"https:\/\/kinsta.com\/blog\/next-js\/\">Next.js<\/a> er et React-baseret open source <a href=\"https:\/\/kinsta.com\/dk\/blog\/javascript-biblioteker\/\">JavaScript-biblioteksframework<\/a>, der kan bruges til en lang r\u00e6kke webudviklingsprojekter, fordi det forenkler opbygningen af server-side renderede og statiske applikationer. Det str\u00f8mliner processen ved at udnytte de bedste funktioner i React og optimere renderingsydelsen for at forbedre brugeroplevelsen. Nogle af de mest almindelige brugssituationer for Next.js omfatter bl.a:<\/p>\n<ul>\n<li><strong>Bygning af statiske websteder<\/strong>: Next.js kan bygge statiske websites, der er hurtige, nemme at implementere og kr\u00e6ver minimal vedligeholdelse, som f.eks. det udviklerportfoliowebsite, vi vil bygge i l\u00f8bet af denne vejledning.<\/li>\n<li><strong>Opbygning af dynamiske websteder<\/strong>: Next.js giver dig mulighed for at oprette dynamiske websteder, der kan \u00e6ndre indholdet baseret p\u00e5 brugerinteraktioner eller datahentning p\u00e5 serversiden.<\/li>\n<\/ul>\n<ul>\n<li><strong>Opbygning af e-handelswebsteder<\/strong>: Next.js er velegnet til at bygge e-handelswebsteder, der kr\u00e6ver server-side rendering for at forbedre SEO og ydeevne.<\/li>\n<\/ul>\n<ul>\n<li><strong>Opbygning af progressive webapplikationer (PWA&#8217;er)<\/strong>: Next.js underst\u00f8tter oprettelsen af PWA&#8217;er, som er webapplikationer, der fungerer som native apps og kan installeres p\u00e5 en brugers enhed.<\/li>\n<\/ul>\n<h2>S\u00e5dan konfigurerer du dit Next.js-udviklingsmilj\u00f8<\/h2>\n<p>For at ops\u00e6tte et udviklingsmilj\u00f8 for Next.js skal du f\u00f8rst <a href=\"https:\/\/kinsta.com\/dk\/blog\/saadan-installeres-node-js\/\">installere Node.js<\/a> p\u00e5 din computer, fordi du vil bruge kommandoen <code>npx<\/code> til at k\u00f8re npm-pakker uden at skulle installere dem globalt p\u00e5 dit system. N\u00e5r det er ordnet, kan du nu oprette et Next.js-projekt ved at k\u00f8re f\u00f8lgende kommando:<\/p>\n<pre><code class=\"language-bash\">npx create-next-app@latest my-portfolio<\/code><\/pre>\n<p>Der vises en prompt, som beder dig om at bekr\u00e6fte nogle yderligere afh\u00e6ngigheder. Derefter kan du k\u00f8re <code>npm run dev<\/code> for at g\u00f8re din app tilg\u00e6ngelig p\u00e5 <strong>localhost:3000<\/strong>.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/nextjs-installation-with-options.jpg\" alt=\"Kode, der viser et nyt next.js-projekt.\" width=\"1600\" height=\"569\"><figcaption class=\"wp-caption-text\">Oprettelse af et nyt Next.js-projekt.<\/figcaption><\/figure>\n<p>N\u00e5r du opretter et Next.js-projekt ved hj\u00e6lp af kommandoen <code>npx<\/code>, skaffer den automatisk en mappestruktur med f\u00f8lgende hovedkataloger:<\/p>\n<ol start=\"1\">\n<li><strong>pages<\/strong>: Denne mappe indeholder applikationens sider, som automatisk videresendes p\u00e5 baggrund af deres filnavn. F.eks. vil <strong>pages\/index.js<\/strong> v\u00e6re startsiden, mens <strong>pages\/about.js<\/strong> vil v\u00e6re om-siden.<\/li>\n<li><strong>public<\/strong>: Denne mappe indeholder statiske filer, der kan serveres direkte, f.eks. billeder, skrifttyper og andre aktiver.<\/li>\n<li><strong>components<\/strong>: Denne mappe er valgfri og indeholder genanvendelige brugergr\u00e6nsefladekomponenter, der kan bruges i hele programmet.<\/li>\n<li><strong>styles<\/strong>: Denne mappe er ogs\u00e5 valgfri og indeholder globale stilarter, der kan anvendes i hele programmet.<\/li>\n<\/ol>\n<p>Der kan ogs\u00e5 genereres andre mapper og filer afh\u00e6ngigt af den specifikke konfiguration og funktioner, men dette er de centrale mapper i et grundl\u00e6ggende Next.js-projekt.<\/p>\n<p>I denne tutorial vil alt, hvad vi bygger, blive vist p\u00e5 indekssiden (vores websted med \u00e9n side), og du vil inkludere komponenter til forskellige sektioner som f.eks. hero, om, projekter og andre.<\/p>\n<h2>S\u00e5dan opbygger du en responsiv udviklerportfolio ved hj\u00e6lp af Next.js<\/h2>\n<p>En portfolio best\u00e5r typisk af komponenter som disse:<\/p>\n<ul>\n<li>Navbar-komponent<\/li>\n<li>Hero-komponent<\/li>\n<li>Om-komponent<\/li>\n<li>Komponent med f\u00e6rdigheder<\/li>\n<li>Komponent til projekter<\/li>\n<li>Kontakt komponent<\/li>\n<li>Footer-komponent<\/li>\n<\/ul>\n<p>Navbar- og Footer-komponenterne forventes at blive vist p\u00e5 alle sider, hvis portef\u00f8ljen har mere end \u00e9n side. Dette kan opn\u00e5s i Next.js ved at definere et layout.<\/p>\n<h3>Definition af layouts i Next.js<\/h3>\n<p>I Next.js er et layout en m\u00e5de at definere en ensartet struktur for de komponenter, der vises p\u00e5 alle sider p\u00e5 et websted. Layoutet omfatter normalt elementer som f.eks. en header, en navigationsmenu og en footer, der vises p\u00e5 tv\u00e6rs af alle sider p\u00e5 webstedet.<\/p>\n<p>Start med at oprette en mappe med komponenter i mappen <strong>src<\/strong> (source) i dit Next.js-projekt. Derefter skal du oprette komponenterne Navbar og Footer, som skal bruges i Layout-komponenten.<\/p>\n<p>Her er Navbar-komponenten i <strong>Navbar.jsx<\/strong>:<\/p>\n<pre><code class=\"language-jsx\">\/\/ components\/Navbar.jsx\n\nimport Link from \"next\/link\";\n\nconst Navbar = () =&gt; {\n  return (\n    &lt;div className=\"nav-container\"&gt;\n      &lt;div className=\"logo\"&gt;\n        &lt;Link href=\"\/\"&gt;\n          Joe's Portfolio\n        &lt;\/Link&gt;\n      &lt;\/div&gt;\n      &lt;a href=\"\" className=\"cta-btn\"&gt;Resume&lt;\/a&gt;\n    &lt;\/div&gt;\n  )\n}\n\nexport default Navbar;<\/code><\/pre>\n<p>Her er Footer-komponenten i <strong>Footer.jsx:<\/strong><\/p>\n<pre><code class=\"language-jsx\">\/\/ components\/Footer.jsx\n\nconst Footer = () =&gt; {\n  return (\n    &lt;&gt;\n      &lt;hr\/&gt;\n      &lt;div className=\"footer-container\"&gt;\n        &lt;p&gt;\n          &copy; {new Date().getFullYear()} Joel's Portfolio\n        &lt;\/p&gt;\n        &lt;div className=\"social_icons\"&gt;\n          &lt;a\n            href=\"https:\/\/twitter.com\/olawanle_joel\"\n            aria-label=\"Twitter\"\n            target=\"_blank\"\n            rel=\"noopener noreferrer\"\n          &gt;\n            &lt;i className=\"fa-brands fa-twitter\"&gt;&lt;\/i&gt;\n          &lt;\/a&gt;\n          &lt;a\n            href=\"https:\/\/github.com\/olawanlejoel\"\n            aria-label=\"GitHub\"\n            target=\"_blank\"\n            rel=\"noopener noreferrer\"\n          &gt;\n            &lt;i className=\"fa-brands fa-github\"&gt;&lt;\/i&gt;\n          &lt;\/a&gt;\n          &lt;a\n            href=\"https:\/\/www.linkedin.com\/in\/olawanlejoel\/\"\n            aria-label=\"LinkedIn\"\n            target=\"_blank\"\n            rel=\"noopener noreferrer\"\n          &gt;\n            &lt;i className=\"fa-brands fa-linkedin\"&gt;&lt;\/i&gt;\n          &lt;\/a&gt;\n        &lt;\/div&gt;\n      &lt;\/div&gt;\n    &lt;\/&gt;\n  )\n}\n\nexport default Footer;<\/code><\/pre>\n<p><strong>Bem\u00e6rk<\/strong>: For at Font Awesome-ikonerne kan fungere, skal du enten installere Font Awesome i dit projekt eller bruge dets CDN. Du kan tilf\u00f8je CDN-linket til din <strong>_document.js<\/strong>-fil p\u00e5 denne m\u00e5de:<\/p>\n<pre><code class=\"language-js\">\/\/ pages\/_document.js\n\nimport { Html, Head, Main, NextScript } from 'next\/document';\n\nexport default function Document() {\n  return (\n    &lt;Html lang=\"en\"&gt;\n      &lt;Head&gt;\n        &lt;meta charSet=\"utf-8\" \/&gt;\n        &lt;link\n          rel=\"stylesheet\"\n          href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.2.1\/css\/all.min.css\"\n          integrity=\"sha512-MV7K8+y+gLIBoVD59lQIYicR65iaqukzvf\/nwasF0nqhPay5w\/9lJmVM2hMDcnK1OnMGCdVK+iQrJ7lzPJQd1w==\"\n          crossorigin=\"anonymous\"\n          referrerpolicy=\"no-referrer\"\n        \/&gt;\n      &lt;\/Head&gt;\n      &lt;body&gt;\n      &lt;Main \/&gt;\n      &lt;NextScript \/&gt;\n      &lt;\/body&gt;\n    &lt;\/Html&gt;\n  );\n}<\/code><\/pre>\n<p><strong>Bem\u00e6rk:<\/strong> Hvis du linker til en anden version af Font Awesome via CDN&#8217;et, skal du bytte ind over den relevante <code>integrity<\/code> hash for den p\u00e5g\u00e6ldende version.<\/p>\n<p>N\u00e5r du har oprettet alle de n\u00f8dvendige komponenter til dit layout, kan du oprette selve Layout-komponenten og tilf\u00f8je denne komponent til dine sider ved at indpakke dit sideindhold i den.<\/p>\n<p>Layout-komponenten vil acceptere en &lt;code&gt;children&lt;\/code&gt;-prop, s\u00e5 du kan f\u00e5 adgang til indholdet af dine Next.js-sider.<\/p>\n<pre><code class=\"language-jsx\">\/\/ components\/Layout.jsx\n\nimport Navbar from '.\/navbar';\nimport Footer from '.\/footer';\n\nconst Layout = ({ children }) =&gt; {\n  return (\n    &lt;&gt;\n      &lt;Navbar \/&gt;\n      &lt;main&gt;{children}&lt;\/main&gt;\n      &lt;Footer \/&gt;\n    &lt;\/&gt;\n  )\n}\n\nexport default Layout;<\/code><\/pre>\n<p>P\u00e5 dette tidspunkt har du med succes oprettet Layout-komponenten, som indeholder Navbar og Footer sammen med children-prop&#8217;erne, der er placeret korrekt. Du kan nu tilf\u00f8je Layout-komponenten til dine sider ved at indpakke sidens indhold i den. Dette g\u00f8res i filen <strong>_app.js<\/strong>.<\/p>\n<pre><code class=\"language-js\">\/\/ pages\/_app.js\n\nimport '@\/styles\/globals.css';\nimport Layout from '..\/components\/layout';\n\nexport default function App({ Component, pageProps }) {\n  return (\n    &lt;Layout&gt;\n      &lt;Component {...pageProps} \/&gt;\n    &lt;\/Layout&gt;\n  );\n}<\/code><\/pre>\n<p>Det er nu lykkedes dig at skabe et layout til din udviklerportef\u00f8lje. I denne portef\u00f8lje fokuserer vi mere p\u00e5 Next.js og p\u00e5, hvordan du udruller dit websted til Kinsta. S\u00e5 du kan kopiere stilene i filen <a href=\"https:\/\/github.com\/olawanlejoel\/Kinsta-developer-portfolio\/blob\/main\/src\/styles\/globals.css\">styles\/globals.css<\/a> til dit eget projekt. Hvis du starter dit portfoliowebsted i dev-mode, b\u00f8r du nu kunne se din app&#8217;s layout.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/layout-component.jpg\" alt=\"billede af et Layout-komponent\" width=\"1600\" height=\"619\"><figcaption class=\"wp-caption-text\">Layout-komponent<\/figcaption><\/figure>\n<p>Nu er det tid til at give dit portf\u00f8ljewebsted det rette indhold.<\/p>\n<h3>Opbygning af portef\u00f8ljekomponenter<\/h3>\n<p>Du kan nu oprette individuelle komponenter til hver sektion af din udviklers portef\u00f8lje. Alle disse komponenter vil blive importeret til indekssiden i dit Next.js-projekt, s\u00e5 de kan vises, n\u00e5r du starter dit projekt med <code>npm run dev<\/code>.<\/p>\n<h4>Komponent til helten<\/h4>\n<p>Hero-komponenten er den f\u00f8rste sektion under navigationslinjen, hvis hovedform\u00e5l er at fange brugerens opm\u00e6rksomhed og give dem en fornemmelse af, hvad webstedet eller applikationen handler om.<\/p>\n<pre><code class=\"language-jsx\">\/\/ components\/Hero.jsx\n\nimport Image from \"next\/image\";\n\nconst Hero = () =&gt; {\n  return (\n    &lt;div className=\"hero-container\"&gt;\n      &lt;Image src='\/images\/profile.jpeg' className=\"profile-img\" width={300} height={300} alt=\"Joe's personal headshot\" \/&gt;\n      &lt;div className=\"hero-text\"&gt;\n        &lt;h1&gt;Hey, I'm Joe \ud83d\udc4b&lt;\/h1&gt;\n        &lt;p&gt;\n          I'm a software developer based in Lagos, Nigeria. I specialize in building (and occasionally designing)\n          exceptional websites, applications, and everything in between.\n        &lt;\/p&gt;\n        &lt;div className=\"social-icons\"&gt;\n          &lt;a\n            href=\"https:\/\/twitter.com\/olawanle_joel\"\n            aria-label=\"Twitter\"\n            target=\"_blank\"\n            rel=\"noopener noreferrer\"\n          &gt;\n            &lt;i className=\"fa-brands fa-twitter\"&gt;&lt;\/i&gt;\n          &lt;\/a&gt;\n          &lt;a\n            href=\"https:\/\/github.com\/olawanlejoel\"\n            aria-label=\"GitHub\"\n            target=\"_blank\"\n            rel=\"noopener noreferrer\"\n          &gt;\n            &lt;i className=\"fa-brands fa-github\"&gt;&lt;\/i&gt;\n          &lt;\/a&gt;\n          &lt;a\n            href=\"https:\/\/www.linkedin.com\/in\/olawanlejoel\/\"\n            aria-label=\"LinkedIn\"\n            target=\"_blank\"\n            rel=\"noopener noreferrer\"\n          &gt;\n            &lt;i className=\"fa-brands fa-linkedin\"&gt;&lt;\/i&gt;\n          &lt;\/a&gt;\n        &lt;\/div&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n  )\n}\n\nexport default Hero;<\/code><\/pre>\n<p>I koden ovenfor vil du bem\u00e6rke, at <a href=\"https:\/\/nextjs.org\/docs\/api-reference\/next\/image\" target=\"_blank\" rel=\"noopener noreferrer\">Next.js Image-komponenten<\/a> bruges i stedet for HTML-tagget <code>img<\/code> til at tilf\u00f8je billedet, fordi den muligg\u00f8r automatisk billedeoptimering, st\u00f8rrelses\u00e6ndring og meget mere.<\/p>\n<p>I About-komponenten vil du ogs\u00e5 bem\u00e6rke, at der er tilf\u00f8jet et simpelt afsnit for at sige lidt om udvikleren sammen med nogle sociale ikoner fra Font Awesome for at tilf\u00f8je sociale links.<\/p>\n<p>S\u00e5dan skal Hero-komponenten se ud:<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/hero-component.jpg\" alt=\"Next.js hero-komponent til portef\u00f8ljewebsted\" width=\"1600\" height=\"695\"><figcaption class=\"wp-caption-text\">Hero-komponent<\/figcaption><\/figure>\n<p>Du kan tilf\u00f8je mere indhold til Hero-komponenten, justere stilene i filen <strong>styles\/globals.css<\/strong> eller endda genskabe dette afsnit p\u00e5 din egen m\u00e5de.<\/p>\n<h4>Om-komponenten<\/h4>\n<p>Om-komponenten er beregnet til at fort\u00e6lle l\u00e6sere eller folk, der bes\u00f8ger din portef\u00f8lje, flere oplysninger om dig i s\u00e5 mange afsnit, som du \u00f8nsker. Hvis du \u00f8nsker at fort\u00e6lle mere om dig selv, kan du oprette en dedikeret &#8220;Om mig&#8221;-side og tilf\u00f8je en knap p\u00e5 dette afsnit for at l\u00e6se mere om dig selv.<\/p>\n<pre><code class=\"language-jsx\">\/\/ components\/About.jsx\n\nimport Image from \"next\/image\";\n\nconst About = () =&gt; {\n  return (\n    &lt;div className=\"about-container\"&gt;\n      &lt;h2&gt;About Me&lt;\/h2&gt;\n      &lt;div className=\"flex-about\"&gt;\n        &lt;div className=\"about-text\"&gt;\n          &lt;p&gt;\n            As a developer, I have always been passionate about creating elegant and effective solutions to\n            complex problems. I have a strong foundation in software development, with a focus on web\n            technologies such as HTML, CSS, and JavaScript. I enjoy working on both the front-end and\n            back-end of applications, and I am always looking for ways to optimize performance, improve user\n            experience, and ensure the highest level of code quality.\n          &lt;\/p&gt;\n          &lt;p&gt;Throughout my career, I have worked on a wide range of projects, from simple static websites to\n            complex enterprise-level applications. I am experienced in working with a variety of development\n            tools and frameworks, including React, Angular, Vue.js, Node.js, and Laravel. I am always eager\n            to learn and explore new technologies, and I am constantly seeking out opportunities to improve\n            my skills and knowledge.&lt;\/p&gt;\n        &lt;\/div&gt;\n        &lt;div className=\"about-img\"&gt;\n          &lt;Image src='\/images\/about.jpeg' className=\"profile-img\" width={300} height={500}\/&gt;\n        &lt;\/div&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n  )\n}\n\nexport default About;<\/code><\/pre>\n<p>Koden ovenfor indeholder to afsnit med tekst om udvikleren og et billede af udvikleren. S\u00e5dan forventes det, at afsnittet Om vil se ud:<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/about-component.jpg\" alt=\"Om-komponenten p\u00e5 et Next.js-portef\u00f8ljewebsted\" width=\"1600\" height=\"738\"><figcaption class=\"wp-caption-text\">Om komponent<\/figcaption><\/figure>\n<p>Du kan altid justere stilene for at tilf\u00f8je flere billeder og meget mere.<\/p>\n<h4>Komponent for f\u00e6rdigheder<\/h4>\n<p>Komponentens f\u00e6rdigheder er beregnet til at vise nogle af udviklerens mest anvendte teknologier eller teknologier, som udvikleren tidligere har brugt.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/skills-component.jpg\" alt=\"Komponent med f\u00e6rdigheder\" width=\"1600\" height=\"294\"><figcaption class=\"wp-caption-text\">Komponent med f\u00e6rdigheder<\/figcaption><\/figure>\n<p>Du kan g\u00f8re dette lettere at vedligeholde ved at oprette et array i en ekstern fil og derefter importere det i f\u00e6rdighedskomponenten, s\u00e5 du kan l\u00f8be igennem i stedet for at duplikerer lignende kode.<\/p>\n<pre><code class=\"language-jsx\">\/\/ components\/Skills.jsx\n\nconst Skills = () =&gt; {\n  return (\n    &lt;div className=\"skills-container\"&gt;\n      &lt;h2&gt;Skills&lt;\/h2&gt;\n      &lt;div className=\"grid-skills\"&gt;\n        &lt;div className=\"skill-card html\"&gt;\n          &lt;i className=\"fa-brands fa-html5 html-icon\"&gt;&lt;\/i&gt;\n          &lt;p&gt;HTML&lt;\/p&gt;\n        &lt;\/div&gt;\n        &lt;div className=\"skill-card css\"&gt;\n          &lt;i className=\"fa-brands fa-css3-alt css-icon\"&gt;&lt;\/i&gt;\n          &lt;p&gt;CSS&lt;\/p&gt;\n        &lt;\/div&gt;\n        &lt;div className=\"skill-card js\"&gt;\n          &lt;i className=\"fa-brands fa-js-square js-icon\"&gt;&lt;\/i&gt;\n          &lt;p&gt;JavaScript&lt;\/p&gt;\n        &lt;\/div&gt;\n        &lt;div className=\"skill-card react\"&gt;\n          &lt;i className=\"fa-brands fa-react react-icon\"&gt;&lt;\/i&gt;\n          &lt;p&gt;React&lt;\/p&gt;\n        &lt;\/div&gt;\n        &lt;div className=\"skill-card node\"&gt;\n          &lt;i className=\"fa-brands fa-node-js node-icon\"&gt;&lt;\/i&gt;\n          &lt;p&gt;Node&lt;\/p&gt;\n        &lt;\/div&gt;\n        &lt;div className=\"skill-card python\"&gt;\n          &lt;i className=\"fa-brands fa-python python-icon\"&gt;&lt;\/i&gt;\n          &lt;p&gt;Python&lt;\/p&gt;\n        &lt;\/div&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n  )\n}\n\nexport default Skills;<\/code><\/pre>\n<p>I koden ovenfor oprettes der et kort for hver f\u00e6rdighed, og hvert kort vil indeholde teknologi-ikonet fra font-awesome og teknologinavnet. Du kan ogs\u00e5 tilf\u00f8je flere stilarter og justere koden for at g\u00f8re den mere attraktiv og unik.<\/p>\n<h4>Komponenten Projekter<\/h4>\n<p>Projektkomponenten er en af de vigtige sektioner i en udviklers portef\u00f8lje. Projekter giver h\u00e5ndgribelige beviser for en udviklers f\u00e6rdigheder og evner og viser deres evne til at anvende deres viden p\u00e5 virkelige problemer.<\/p>\n<p>Hvert projekt skal indeholde en kort beskrivelse af projektet, et link til dets kildekode (vi bruger <a href=\"https:\/\/kinsta.com\/blog\/what-is-github\/\">GitHub<\/a>-link her) og eventuelle andre oplysninger, du \u00f8nsker at tilf\u00f8je.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/projects-component.jpg\" alt=\"Next.js-projektkomponent til portef\u00f8ljewebsted\" width=\"1600\" height=\"847\"><figcaption class=\"wp-caption-text\">Projektkomponent<\/figcaption><\/figure>\n<p>Du kan oprette et array til at indeholde hvert projekts detaljer og derefter importere det i din komponent for at undg\u00e5 hard-coding af dem.<\/p>\n<p>Lad os oprette en <strong>data.js<\/strong>-fil til at gemme arrayet med projektdata. Du kan gemme denne fil i komponentmappen eller i mappen <strong>pages\/api<\/strong>. I denne demo gemmer jeg den i komponentmappen. Dette array vil indeholde et objekt for hvert projekt, og objektet vil indeholde projektets navn, beskrivelse og GitHub-link.<\/p>\n<pre><code class=\"language-js\">\/\/ components\/data.js\n\nexport const projectData = [\n  {\n    id: 1,\n    title: 'Todo List App',\n    description:\n      'A simple Todo List App built with JavaScript. All datas are stored in localstorage. It helps users check list out their plans and tick as they do them.',\n    gitHubLink: 'https:\/\/github.com\/olawanlejoel\/Todo-List-App',\n  },\n  {\n    id: 2,\n    title: 'Books Library App',\n    description:\n      'A simple Book Library App built with JavaScript. It helps readers have a good list of books they are either currently reading or have finished reading.',\n    gitHubLink: 'https:\/\/github.com\/olawanlejoel\/Book-Library',\n  },\n  {\n    id: 3,\n    title: 'Quotes Generator',\n    description:\n      'Helps you generate quotes from about 1600 quotes written by different authors . Quotes are automatically copied to your clipboards.',\n    gitHubLink: 'https:\/\/github.com\/olawanlejoel\/random-quote-generator',\n  },\n  {\n    id: 4,\n    title: 'Password Generator',\n    description:\n      'Helps you generates random passwords, you can select what you want your password to entail and also you can copy generated password to clipboard.',\n    gitHubLink: 'https:\/\/github.com\/olawanlejoel\/Password-Generator',\n  },\n  {\n    id: 5,\n    title: 'Twitter UI Clone',\n    description:\n      'Simple Twitter UI clone built with TailwindCSS and Vue Js. This covers only the homepage of Twitter UI. This is cool to get started with TailwindCSS as it helps understand basic concepts.',\n    gitHubLink: 'https:\/\/github.com\/olawanlejoel\/TwitterUI-clone',\n  },\n];<\/code><\/pre>\n<p>Du kan nu oprette en projektkomponent for at udnytte disse data ved at sl\u00f8jfe let igennem. Du kan bruge en hvilken som helst JavaScript-iterationsmetode, men i denne vejledning kan du bruge JavaScript <code>map()<\/code> array-metoden til at l\u00f8be gennem datamarrayen efter import af den til projektkomponenten Projects.<\/p>\n<pre><code class=\"language-jsx\">\/\/ components\/Projects.jsx\n\nimport { projectData } from '.\/data.js';\n\nconst Projects = () =&gt; {\n  return (\n    &lt;div className=\"projects-container\"&gt;\n      &lt;h2&gt;Projects&lt;\/h2&gt;\n      &lt;div className=\"projects-grid\"&gt;\n        {projectData && projectData.map((project) =&gt; (\n          &lt;div className=\"project-card\" key={project.id}&gt;\n            &lt;div className=\"project-header\"&gt;\n              &lt;i className=\"fa-regular fa-folder-open folder-icon\"&gt;&lt;\/i&gt;\n              &lt;div className=\"small-icons\"&gt;\n                &lt;a href={project.gitHubLink}&gt;&lt;i className=\"fa-brands fa-github\"&gt;&lt;\/i&gt;&lt;\/a&gt;\n              &lt;\/div&gt;\n            &lt;\/div&gt;\n            &lt;h3&gt;{project.title}&lt;\/h3&gt;\n            &lt;p&gt;{project.description}&lt;\/p&gt;\n          &lt;\/div&gt;\n        ))\n        }\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n  )\n}\n\nexport default Projects;<\/code><\/pre>\n<p>I koden ovenfor har du med succes undg\u00e5et gentagelser ved at l\u00f8kke gennem arrayet for at outputte alle projekter i Projects-komponenten, hvilket g\u00f8r det nemt at vedligeholde og tilf\u00f8je flere projekter.<\/p>\n<h4>Kontaktkomponenten<\/h4>\n<p>En af grundene til at oprette en udviklers portef\u00f8lje er, at potentielle kunder kan kontakte dig. En m\u00e5de ville v\u00e6re, at folk kan sende dig en e-mail, hvilket vi vil g\u00f8re det lettere for dem i denne Contact-komponent.<\/p>\n<pre><code class=\"language-jsx\">\/\/ components\/Contact.jsx\n\nconst Contact = () =&gt; {\n  return (\n    &lt;div className=\"contact-container\"&gt;\n      &lt;h2&gt;Get In Touch&lt;\/h2&gt;\n      &lt;p&gt;If you want us to work together, have any questions or want me to speak at your event, my inbox is always open. Whether I just want to say hi, I'll try my best to get back to you! Cheers!&lt;\/p&gt;\n      &lt;a href=\"mailto:example@kinsta.com\" className='cta-btn'&gt;Say Hello&lt;\/a&gt;\n    &lt;\/div&gt;\n  )\n}\n\nexport default Contact;<\/code><\/pre>\n<p>Placer din e-mail-adresse i <code>a<\/code> -tagget, s\u00e5 knappen starter et e-mail-program med en besked til dig.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/contact-component.jpg\" alt=\"Kontaktkomponent til Next.js-portef\u00f8ljewebstedet\" width=\"1600\" height=\"312\"><figcaption class=\"wp-caption-text\">Kontakt-komponent<\/figcaption><\/figure>\n<p>Du har nu oprettet alle komponenterne til din portef\u00f8ljeapplikation. Det n\u00e6ste skridt er at tilf\u00f8je dem til din indeksside. Naviger til filen <strong>pages\/index.js<\/strong> &#8211; som oprettes som standard &#8211; og erstat dens kode med f\u00f8lgende.<\/p>\n<pre><code class=\"language-js\">\/\/ pages\/index.js\n\nimport Hero from '@\/components\/Hero';\nimport About from '@\/components\/About';\nimport Skills from '@\/components\/Skills';\nimport Projects from '@\/components\/Projects';\nimport Contact from '@\/components\/Contact';\n\nimport Head from 'next\/head';\n\nconst Home = () =&gt; {\n  return (\n    &lt;&gt;\n      &lt;Head&gt;\n        &lt;title&gt;Joel's Portfolio&lt;\/title&gt;\n        &lt;meta name=\"description\" content=\"Joel's Portfolio\" \/&gt;\n        &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" \/&gt;\n        &lt;link rel=\"icon\" href=\"\/favicon.ico\" \/&gt;\n      &lt;\/Head&gt;\n      &lt;div&gt;\n        &lt;Hero \/&gt;\n        &lt;About \/&gt;\n        &lt;Skills \/&gt;\n        &lt;Projects \/&gt;\n        &lt;Contact \/&gt;\n      &lt;\/div&gt;\n    &lt;\/&gt;\n  );\n};\n\nexport default Home;<\/code><\/pre>\n<p>N\u00e5r du nu k\u00f8rer din applikation, vil du bem\u00e6rke, at der er blevet oprettet et komplet <a href=\"https:\/\/kinsta.com\/dk\/blog\/portfolio-hjemmeside\/\">portfoliowebsted<\/a>. Lad os endelig installere en afh\u00e6ngighed, f\u00f8r vi udruller din applikation. En af fordelene ved at bruge Next.js er de mange funktioner, som den bringer til bordet, s\u00e5som filbaseret routing, billedeoptimering og meget mere.<\/p>\n<p>Billedoptimering h\u00e5ndteres med Next.js <code>Image<\/code> -komponenten. Inden du udruller en applikation i produktion, der bruger Next.js Image-komponenten, anbefales det kraftigt at installere <a href=\"https:\/\/www.npmjs.com\/package\/sharp\">sharp<\/a>. Du kan g\u00f8re dette ved at navigere til din terminal, sikre dig, at du er i dit projekts mappe, og derefter k\u00f8re f\u00f8lgende kommando:<\/p>\n<pre><code class=\"language-bash\">npm i sharp<\/code><\/pre>\n<p>Du kan nu implementere din applikation, og billederne vil fungere korrekt med den fulde optimering, som Next.js tilbyder.<\/p>\n<h2>S\u00e5dan implementerer du Next.js-applikation til Kinsta<\/h2>\n<p>N\u00e5r du er tilfreds med din portef\u00f8lje, der viser dit bedste udviklingsarbejde og vigtige oplysninger, vil du sandsynligvis gerne dele den med andre, ikke sandt? Lad os se, hvordan du g\u00f8r det ved hj\u00e6lp af GitHub og Kinsta&#8217;s Applikation Hosting-platform.<\/p>\n<h3>Skub din kode til GitHub<\/h3>\n<p>Der er forskellige m\u00e5der at skubbe koder til GitHub p\u00e5, men lad os bruge Git i denne vejledning. <a href=\"https:\/\/kinsta.com\/blog\/git-for-web-development\/\">Git er meget udbredt inden for softwareudvikling<\/a>, fordi det giver en p\u00e5lidelig og effektiv m\u00e5de at administrere kode\u00e6ndringer, samarbejde om projekter og vedligeholde versionshistorik.<\/p>\n<p>Du kan uploade din kode til GitHub ved hj\u00e6lp af f\u00f8lgende trin:<\/p>\n<p>F\u00f8rst skal du oprette et nyt repository (ligesom en lokal mappe til at gemme din kode). Det kan du g\u00f8re ved at logge ind p\u00e5 din GitHub-konto, klikke p\u00e5 knappen <strong>+<\/strong> i \u00f8verste h\u00f8jre hj\u00f8rne af sk\u00e6rmen og v\u00e6lge <strong>New repository<\/strong> fra dropdown-menuen, som det ses p\u00e5 billedet nedenfor.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/Create-a-new-repository-on-GitHub.jpg\" alt=\"Opret et nyt GitHub-repository.\" width=\"1600\" height=\"770\"><figcaption class=\"wp-caption-text\">Opret et nyt GitHub-repository.<\/figcaption><\/figure>\n<p>Det n\u00e6ste trin vil v\u00e6re at give dit repository et navn, tilf\u00f8je en beskrivelse (valgfrit) og v\u00e6lge, om du \u00f8nsker, at dit repository skal v\u00e6re offentligt eller privat. Klik derefter p\u00e5 <strong>Create repository (Opret repository)<\/strong>. Du kan nu <a href=\"https:\/\/kinsta.com\/blog\/how-to-push-code-to-github\/\">skubbe din kode<\/a> til det nye GitHub-repository.<\/p>\n<p>Det eneste, der er n\u00f8dvendigt for at skubbe din kode med Git, er repository-URL&#8217;en, som du kan finde p\u00e5 repositoryets hovedside, under knappen <strong>Clone eller download<\/strong> eller i de trin, der vises efter oprettelse af et repository.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/how-to-get-repository-URL.jpg\" alt=\"F\u00e5 adgang til din GitHub-repositorie-URL\" width=\"1600\" height=\"738\"><figcaption class=\"wp-caption-text\">F\u00e5 adgang til din GitHub-repositorie-URL<\/figcaption><\/figure>\n<p>Du kan forberede dig p\u00e5 at skubbe din kode ved at \u00e5bne din terminal eller command prompt og navigere til den mappe, der indeholder dit projekt. Brug f\u00f8lgende kommando til at initialisere et lokalt Git-repositorium:<\/p>\n<pre><code class=\"language-bash\">git init<\/code><\/pre>\n<p>Tilf\u00f8j nu din kode til det lokale Git-repositorium ved hj\u00e6lp af f\u00f8lgende kommando:<\/p>\n<pre><code class=\"language-bash\">git add .<\/code><\/pre>\n<p>Ovenst\u00e5ende kommando tilf\u00f8jer alle filer i den aktuelle mappe og dens undermapper til det nye Git-repositorium: Ovenst\u00e5ende kommando tilf\u00f8jer alle filer i den aktuelle mappe og dens undermapper til det nye Git-repositorium. Du kan nu overf\u00f8re dine \u00e6ndringer ved hj\u00e6lp af f\u00f8lgende kommando:<\/p>\n<pre><code class=\"language-bash\">git commit -m \"my first commit\"<\/code><\/pre>\n<p><strong>Bem\u00e6rk:<\/strong> Du kan erstatte &#8220;my first commit&#8221; med din egen korte besked, der beskriver de \u00e6ndringer, du har foretaget.<\/p>\n<p>Endelig kan du skubbe din kode til GitHub ved hj\u00e6lp af f\u00f8lgende kommandoer:<\/p>\n<pre><code class=\"language-bash\">\ngit remote add origin [repository URL]\ngit push -u origin master<\/code><\/pre>\n<p><strong>Bem\u00e6rk:<\/strong> S\u00f8rg for at erstatte &#8220;[repository URL]&#8221; med URL&#8217;en for dit eget GitHub-repositorium.<\/p>\n<p>N\u00e5r du har gennemf\u00f8rt disse trin, vil din kode blive skubbet til GitHub og v\u00e6re tilg\u00e6ngelig via dit repositoriums URL. Du kan nu distribuere dit repository til Kinsta.<\/p>\n<h3>Implementer din portef\u00f8lje til Kinsta<\/h3>\n<p>Deployment til Kinsta sker p\u00e5 f\u00e5 minutter. Start med at logge ind eller oprette din konto p\u00e5 <a href=\"https:\/\/my.kinsta.com\/?lang=da\">Mit Kinsta<\/a>-dashboard.<\/p>\n<p>Derefter skal du <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/github#authenticate-and-authorize\">autorisere Kinsta p\u00e5 GitHub<\/a> i disse hurtige trin:<\/p>\n<ol start=\"1\">\n<li>Klik p\u00e5 <strong>Applikationer<\/strong> p\u00e5 venstre sidepanel<\/li>\n<li>Klik p\u00e5 <strong>Tilf\u00f8j tjeneste<\/strong><\/li>\n<li>Klik p\u00e5 <strong>Applikation<\/strong> i rullemenuen, fordi du vil distribuere en Next.js-applikation til Kinsta.<\/li>\n<\/ol>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/host-application-on-kinsta.jpg\" alt=\"Opret et applikationsprojekt i MyKinsta\" width=\"1600\" height=\"503\"><figcaption class=\"wp-caption-text\">Opret et applikationsprojekt i MyKinsta<\/figcaption><\/figure>\n<p>Der vises en modal, hvor du kan v\u00e6lge det repository, du \u00f8nsker at implementere.<\/p>\n<p>Hvis du har flere filialer i dit arkiv, kan du v\u00e6lge den filial, du \u00f8nsker at implementere. Du kan ogs\u00e5 tildele et navn til denne applikation. S\u00f8rg for at v\u00e6lge en <a href=\"https:\/\/kinsta.com\/docs\/service-information\/data-center-locations\/#application-and-database-hosting-data-centers\">datacenterplacering<\/a> blandt de tilg\u00e6ngelige 24, og derefter vil Kinsta automatisk registrere en startkommando.<\/p>\n<figure style=\"width: 1438px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/deploying_application_to_kinsta.gif\" alt=\"Automatisk registrering af startkommando\" width=\"1438\" height=\"736\"><figcaption class=\"wp-caption-text\">Automatisk registrering af startkommando<\/figcaption><\/figure>\n<p>P\u00e5 dette tidspunkt vil din applikation begynde at blive implementeret. Inden for et par minutter vil der blive givet et link til at f\u00e5 adgang til den implementerede version af din applikation. I dette tilf\u00e6lde er det: <strong>https:\/\/kinsta-developer-portfolio-ir8w8.kinsta.app\/<\/strong><\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/deployemnt-link-on-kinsta.jpg\" alt=\"Implementeringslink p\u00e5 Kinsta\" width=\"1600\" height=\"720\"><figcaption class=\"wp-caption-text\">Link til implementering p\u00e5 Kinsta<\/figcaption><\/figure>\n<p><strong>Bem\u00e6rk:<\/strong> Automatisk implementering blev aktiveret, s\u00e5 Kinsta genudruller automatisk din applikation, n\u00e5r du foretager \u00e6ndringer i din kodebase og skubber den til GitHub.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>I denne artikel l\u00e6rte du, hvordan du implementerer dit websted med Kinstas Applikation Hosting. Alternativt, hvis du bygger en grundl\u00e6ggende applikation\/hjemmeside, der ikke kr\u00e6ver dynamisk gengivelse og ikke er udsat for trafikstigninger, kan du v\u00e6lge at hoste dit websted med Kinstas <a href=\"https:\/\/kinsta.com\/static-site-hosting\">statiske webstedshosting<\/a>.<\/p>\n<\/aside>\n\n\n<kinsta-video src=\"https:\/\/www.youtube.com\/watch?v=vmNem6wxfSQ\"><\/kinsta-video>\n<h2>Oversigt<\/h2>\n<p>Der er flere grunde til, at udviklere b\u00f8r overveje at bruge Next.js til deres webprojekter. For det f\u00f8rste giver den optimeret ydeevne out-of-the-box med funktioner som pre-fetching og kodeopdeling, der hj\u00e6lper med at reducere sideindl\u00e6sningstiden. For det andet giver den en velkendt udviklingsoplevelse for React-udviklere, idet den underst\u00f8tter popul\u00e6re v\u00e6rkt\u00f8jer som stilede komponenter og de nyeste React-funktioner.<\/p>\n<p>Kinsta giver st\u00f8tte til forskellige implementeringsmuligheder for Next.js, herunder traditionel serverbaseret hosting og moderne serverl\u00f8se platforme. Dette giver udviklere mulighed for at v\u00e6lge den implementeringsmulighed, der passer bedst til deres behov, samtidig med at de kan drage fordel af frameworkets optimeringer af ydeevnen og andre fordele.<\/p>\n<p>I denne tutorial har du l\u00e6rt trin for trin, hvordan du opbygger et responsivt portef\u00f8ljesite ved hj\u00e6lp af Next.js og derefter distribuerer det til Kinsta.<\/p>\n<p>Du kan <a href=\"https:\/\/sevalla.com\/application-hosting\/\">pr\u00f8ve Kinstas Application Hosting gratis<\/a>, og hvis du kan lide det, kan du v\u00e6lge vores <a href=\"https:\/\/sevalla.com\/pricing\/\">Hobby Tier<\/a>-plan, der <strong>starter ved 7 USD\/m\u00e5ned<\/strong>.<\/p>\n<p>Nu er det din tur til at udfordre dig selv: Tilf\u00f8j flere funktioner til dit nyudviklede portfoliowebsted! Her er et par ideer til at f\u00e5 din kreative juice til at flyde: tilf\u00f8j flere sider med detaljerede oplysninger, integrer en blog med MDX, implementer noget animation. Del dine projekter og erfaringer i kommentarerne nedenfor!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En udviklerportef\u00f8lje er en samling af arbejdspr\u00f8ver og projekter, der viser dine f\u00e6rdigheder og erfaringer. En st\u00e6rk portef\u00f8lje adskiller dig fra andre kandidater, n\u00e5r du s\u00f8ger &#8230;<\/p>\n","protected":false},"author":287,"featured_media":49338,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[705],"class_list":["post-49337","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-javascript-frameworks"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>S\u00e5dan opbygger og distribuerer du en udviklerportef\u00f8lje med Next.js<\/title>\n<meta name=\"description\" content=\"L\u00e6r, hvordan du opbygger en udviklerportef\u00f8lje ved hj\u00e6lp af Next.js. Implementer direkte fra dit GitHub-lager til Kinstas Applikation Hosting-platform.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/\" \/>\n<meta property=\"og:locale\" content=\"da_DK\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"S\u00e5dan opbygger og distribuerer du en udviklerportef\u00f8lje med Next.js\" \/>\n<meta property=\"og:description\" content=\"L\u00e6r, hvordan du opbygger en udviklerportef\u00f8lje ved hj\u00e6lp af Next.js. Implementer direkte fra dit GitHub-lager til Kinstas Applikation Hosting-platform.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Danmark-122855885298660\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-09T12:07:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-10-16T12:12:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"3042\" \/>\n\t<meta property=\"og:image:height\" content=\"1521\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Joel Olawanle\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"L\u00e6r, hvordan du opbygger en udviklerportef\u00f8lje ved hj\u00e6lp af Next.js. Implementer direkte fra dit GitHub-lager til Kinstas Applikation Hosting-platform.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@olawanle_joel\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_dk\" \/>\n<meta name=\"twitter:label1\" content=\"Skrevet af\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joel Olawanle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimeret l\u00e6setid\" \/>\n\t<meta name=\"twitter:data2\" content=\"19 minutter\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/\"},\"author\":{\"name\":\"Joel Olawanle\",\"@id\":\"https:\/\/kinsta.com\/dk\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\"},\"headline\":\"S\u00e5dan opbygger og distribuerer du en udviklerportef\u00f8lje med Next.js\",\"datePublished\":\"2023-03-09T12:07:24+00:00\",\"dateModified\":\"2023-10-16T12:12:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/\"},\"wordCount\":2999,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/dk\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg\",\"inLanguage\":\"da-DK\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/\",\"url\":\"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/\",\"name\":\"S\u00e5dan opbygger og distribuerer du en udviklerportef\u00f8lje med Next.js\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/dk\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg\",\"datePublished\":\"2023-03-09T12:07:24+00:00\",\"dateModified\":\"2023-10-16T12:12:53+00:00\",\"description\":\"L\u00e6r, hvordan du opbygger en udviklerportef\u00f8lje ved hj\u00e6lp af Next.js. Implementer direkte fra dit GitHub-lager til Kinstas Applikation Hosting-platform.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/#breadcrumb\"},\"inLanguage\":\"da-DK\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"da-DK\",\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg\",\"width\":3042,\"height\":1521},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/dk\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript-frameworks\",\"item\":\"https:\/\/kinsta.com\/dk\/emner\/javascript-frameworks\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"S\u00e5dan opbygger og distribuerer du en udviklerportef\u00f8lje med Next.js\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/dk\/#website\",\"url\":\"https:\/\/kinsta.com\/dk\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Hurtig, sikker, premium hostingl\u00f8sninger\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/dk\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/dk\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"da-DK\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/dk\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/dk\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"da-DK\",\"@id\":\"https:\/\/kinsta.com\/dk\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/dk\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Danmark-122855885298660\/\",\"https:\/\/x.com\/kinsta_dk\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/dk\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\",\"name\":\"Joel Olawanle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"da-DK\",\"@id\":\"https:\/\/kinsta.com\/dk\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"caption\":\"Joel Olawanle\"},\"description\":\"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.\",\"sameAs\":[\"https:\/\/joelolawanle.com\/\",\"https:\/\/www.linkedin.com\/in\/olawanlejoel\/\",\"https:\/\/x.com\/olawanle_joel\",\"https:\/\/www.youtube.com\/@joelolawanle\"],\"gender\":\"male\",\"knowsAbout\":[\"JavaScript\",\"React\",\"Next.js\"],\"knowsLanguage\":[\"English\"],\"jobTitle\":\"Technical Editor\",\"worksFor\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/dk\/blog\/author\/joelolawanle\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"S\u00e5dan opbygger og distribuerer du en udviklerportef\u00f8lje med Next.js","description":"L\u00e6r, hvordan du opbygger en udviklerportef\u00f8lje ved hj\u00e6lp af Next.js. Implementer direkte fra dit GitHub-lager til Kinstas Applikation Hosting-platform.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/","og_locale":"da_DK","og_type":"article","og_title":"S\u00e5dan opbygger og distribuerer du en udviklerportef\u00f8lje med Next.js","og_description":"L\u00e6r, hvordan du opbygger en udviklerportef\u00f8lje ved hj\u00e6lp af Next.js. Implementer direkte fra dit GitHub-lager til Kinstas Applikation Hosting-platform.","og_url":"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Danmark-122855885298660\/","article_published_time":"2023-03-09T12:07:24+00:00","article_modified_time":"2023-10-16T12:12:53+00:00","og_image":[{"width":3042,"height":1521,"url":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg","type":"image\/jpeg"}],"author":"Joel Olawanle","twitter_card":"summary_large_image","twitter_description":"L\u00e6r, hvordan du opbygger en udviklerportef\u00f8lje ved hj\u00e6lp af Next.js. Implementer direkte fra dit GitHub-lager til Kinstas Applikation Hosting-platform.","twitter_image":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg","twitter_creator":"@olawanle_joel","twitter_site":"@kinsta_dk","twitter_misc":{"Skrevet af":"Joel Olawanle","Estimeret l\u00e6setid":"19 minutter"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/"},"author":{"name":"Joel Olawanle","@id":"https:\/\/kinsta.com\/dk\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07"},"headline":"S\u00e5dan opbygger og distribuerer du en udviklerportef\u00f8lje med Next.js","datePublished":"2023-03-09T12:07:24+00:00","dateModified":"2023-10-16T12:12:53+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/"},"wordCount":2999,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/dk\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg","inLanguage":"da-DK","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/","url":"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/","name":"S\u00e5dan opbygger og distribuerer du en udviklerportef\u00f8lje med Next.js","isPartOf":{"@id":"https:\/\/kinsta.com\/dk\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg","datePublished":"2023-03-09T12:07:24+00:00","dateModified":"2023-10-16T12:12:53+00:00","description":"L\u00e6r, hvordan du opbygger en udviklerportef\u00f8lje ved hj\u00e6lp af Next.js. Implementer direkte fra dit GitHub-lager til Kinstas Applikation Hosting-platform.","breadcrumb":{"@id":"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/#breadcrumb"},"inLanguage":"da-DK","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/"]}]},{"@type":"ImageObject","inLanguage":"da-DK","@id":"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/#primaryimage","url":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg","contentUrl":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg","width":3042,"height":1521},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/dk\/blog\/next-js-portfoelje\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/dk\/"},{"@type":"ListItem","position":2,"name":"JavaScript-frameworks","item":"https:\/\/kinsta.com\/dk\/emner\/javascript-frameworks\/"},{"@type":"ListItem","position":3,"name":"S\u00e5dan opbygger og distribuerer du en udviklerportef\u00f8lje med Next.js"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/dk\/#website","url":"https:\/\/kinsta.com\/dk\/","name":"Kinsta\u00ae","description":"Hurtig, sikker, premium hostingl\u00f8sninger","publisher":{"@id":"https:\/\/kinsta.com\/dk\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/dk\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"da-DK"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/dk\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/dk\/","logo":{"@type":"ImageObject","inLanguage":"da-DK","@id":"https:\/\/kinsta.com\/dk\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/dk\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Danmark-122855885298660\/","https:\/\/x.com\/kinsta_dk","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/dk\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07","name":"Joel Olawanle","image":{"@type":"ImageObject","inLanguage":"da-DK","@id":"https:\/\/kinsta.com\/dk\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","caption":"Joel Olawanle"},"description":"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.","sameAs":["https:\/\/joelolawanle.com\/","https:\/\/www.linkedin.com\/in\/olawanlejoel\/","https:\/\/x.com\/olawanle_joel","https:\/\/www.youtube.com\/@joelolawanle"],"gender":"male","knowsAbout":["JavaScript","React","Next.js"],"knowsLanguage":["English"],"jobTitle":"Technical Editor","worksFor":"Kinsta","url":"https:\/\/kinsta.com\/dk\/blog\/author\/joelolawanle\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/posts\/49337","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/users\/287"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/comments?post=49337"}],"version-history":[{"count":11,"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/posts\/49337\/revisions"}],"predecessor-version":[{"id":52895,"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/posts\/49337\/revisions\/52895"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/49337\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/49337\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/49337\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/49337\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/49337\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/49337\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/49337\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/49337\/translations\/es"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/49337\/translations\/se"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/49337\/translations\/dk"},{"href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/49337\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/media\/49338"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/media?parent=49337"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/tags?post=49337"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/topic?post=49337"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}