Saya membuat blog baru dengan blogdown, tapi entah kenapa sepertinya saya membuat kesalahan sebagai situs yang saya buat tidak cocok dengan pratinjau dari serve_site.

dir.create("blog7")
setwd("blog7")
blogdown::new_site(theme = "shenoybr/hugo-goa")
blogdown::serve_site()
blogdown::build_site()
browseURL(url = "public/index.html")

Tautan tidak berfungsi seperti yang diharapkan dan gambar tidak ditampilkan. Gambar tampaknya berfungsi jika saya mengubah: /img/headshot.jpg menjadi ./img/headshot.jpg. Tautan tampaknya tidak relatif.

Bagaimana saya bisa menghindari masalah ini muncul dan menghindari mengedit hasil di public secara manual?

enter image description here

1
Tlatwork 12 Juli 2020, 00:01

1 menjawab

Jawaban Terbaik

Mungkin Anda memiliki masalah dengan setelan baseURL di config.toml .

  • Saat menjalankan blogdown::serve_site(), setelan baseURL ditimpa oleh "/" untuk disajikan secara lokal di bawah localhost.
  • Untuk blogdown::build_site() Anda perlu menyiapkan URL dasar sebenarnya dari blog Anda (yaitu "https://www.example.com/") atau setidaknya "/".

Perhatikan bahwa jika Anda membuat situs dengan blogdown::build_site() dan beberapa setelan, lalu mencoba membuka HTML tersebut dari folder public lokal, itu tidak akan berfungsi seperti yang diharapkan. Hanya karena URL dibuat dari baseURL dan titik mis. ke /img/headshot.jpg (yang tidak masuk akal secara lokal, tetapi berfungsi dengan baik di web seperti https://blog.example.com/img/headshot.jpg.

Begitu:

  • jika Anda ingin melihat pratinjau situs Anda secara lokal dengan localhost, gunakan blogdown::serve_site(),
  • untuk mengekspor situs ke web, gunakan blogdown::build_site(), tetapi perhatikan bahwa file HTML yang dihasilkan tersebut tidak akan berfungsi dengan baik saat dijalankan secara lokal.

Lihat detail selengkapnya di buku tentang blogdown dan beberapa info tentang config.toml.

2
11 Juli 2020, 21:46