Computer >> 컴퓨터 >  >> 네트워킹 >> 인터넷

Nikola - webz용 정적 사이트 생성기

최신 웹은 모두 동적 콘텐츠에 관한 것입니다. 그러나 대부분의 경우 이것은 기술적 환상입니다. 많은 웹사이트가 동적으로 생성된 페이지를 사용합니다. 즉, 상호 작용이 반드시 필요하지 않은 경우에도 요청 시 데이터베이스에서 항목을 읽고 화면에 렌더링합니다. 이는 리소스를 필요로 하며 잘못되거나 잘못된 형식의 명령이 이론적으로 원하지 않는 것을 생성할 수 있기 때문에 덜 안전한 것으로 간주될 수도 있습니다.

이전 웹은 정적인 콘텐츠에 관한 것이었습니다. 링크와 이미지만 있는 HTML 페이지였습니다. 나쁘지 않고 리소스가 매우 적으며 웹 서버만큼 안전합니다. 그러나 상호 작용이 많이 발생하지 않으며 콘텐츠 업데이트가 지루할 수 있습니다. 두 세계 사이에 무언가가 있다면 어떨까요? 정적 사이트 생성기인 Nikola입니다.

Nikola - webz용 정적 사이트 생성기

탐색, 설치, 테스트

아이디어의 본질은 정적 웹 사이트를 동적으로 생성한다는 것입니다. 많은 Python 스크립트를 사용하면 페이지를 만들고 편집하고 백그라운드에서 링크 등을 수정하여 무언가를 변경할 때마다 수동으로 수행할 필요가 없습니다. 플러그인과 테마를 사용하면 작업이 훨씬 쉬워집니다. 기존 CMS와의 차이점은 데이터베이스가 없으며 사이트가 있는 위치에 업로드하기 전에 모든 것을 로컬에서 구축한다는 것입니다. 그리고 저쪽에는 HTML과 이미지만 있습니다.

현대에 오프라인 콘텐츠 제작이 쉽지 않기 때문에 이것이 흥미로웠습니다. 나는 2018년에 이것에 대해 썼고, 슬프게도 아이러니하게도 고대의 KompoZer가 원하는 경우 GUI와 직접 코드 편집의 유연성을 모두 제공하는 가장 적합한 도구라는 것을 논리적으로 발견했습니다. Nikola는 하이브리드 접근 방식을 제공합니다. 대부분 명령줄이지만 시각적 편집기와 실시간 브라우저 미리보기도 제공됩니다.

일반 설정 지침(pip 및 virtualenv 명령)을 따랐는데 제대로 작동했습니다. 모든 것이 자동화될 수 있다고 생각합니다(스크립트 안에 넣기). 이 단계가 완료되면 첫 번째(데모) 웹사이트를 만드는 방법에 대한 온라인 자습서를 따랐습니다.

Nikola - webz용 정적 사이트 생성기

nikola init --demo test-site
니콜라 사이트 만들기
======================

니콜라입니다. v8.0.2. 이제 새 사이트에 대한 몇 가지 간단한 질문을 드리겠습니다. 응답하지 않고 대신 기본값을 사용하려면 `-q` 매개변수로 다시 시작하면 됩니다.
--- 사이트에 대한 질문 ---
사이트 제목 [내 Nikola 사이트]:

기본 데이터를 제공했으면 도메인도 필요합니다. 등록된 도메인은 홈페이지로 사용되기 때문입니다. 그런 다음 첫 번째 게시물을 작성했습니다. 지침에 따라 이 작업을 수행했고 바로 문제가 발생했습니다.

(nikola) roger@tester:~/nikola/test-site$ nikola new_post -e
새 게시물 만들기
-----------------

제목:오소리가 운전하면 안 되는 이유
게시물 스캔........완료!
[2019-04-07T18:05:25Z] INFO:new_post:게시물 텍스트 위치:posts/why-badgers-shouldnt-be-allowed-to-drive.rst
[2019-04 -07T18:05:25Z] 오류:new_post:$EDITOR 환경 변수가 설정되지 않았습니다. '-e'로 게시물을 편집할 수 없습니다. 게시물을 수동으로 수정하십시오.

EDITOR 변수를 수동으로 내보내야 했습니다. KDE에서 Kate로 설정했지만 그 문제에 대해서는 Notepad++를 포함한 모든 편집기를 사용할 수 있었습니다. 그런 다음 이렇게 하면 이 오류가 다시 발생하지 않습니다.

편집 부분이 좀... 이상해요. Markdown과 같은 다른 형식을 수동으로 구성할 수 있지만 Nikola는 확장자가 .rst인 파일을 사용하여 reStructuredText임을 나타냅니다. 이것은 사람들이 또 다른 (이상한) 구문을 배우도록 강요하기 때문에 이것이 약간 이상하다는 것을 알았습니다. 또한 스타일과 콘텐츠가 분리되지 않는다는 의미이기도 합니다.

Nikola - webz용 정적 사이트 생성기

이것은 당신이 그냥 일할 수 없다는 것을 의미합니다. 당신은 다른 언어를 배울 필요가 있고 이것은 HTML로 렌더링되지만 CSS 클래스는 어떻고 스타일은 어떻고 실제 HTML 요소는 어떻습니까? 결국, 누군가가 웹사이트를 만들고 있다면 실제 구문을 제어할 수 있어야 하지 않습니까? 결국 첫 번째 게시물을 작성하고 Nikola가 빌드하도록 했습니다.

Nikola - webz용 정적 사이트 생성기

Nikola - webz용 정적 사이트 생성기

이 단계가 완료되면 브라우저 내에서 변경 사항을 미리 볼 수 있습니다. 그런 다음 자신의 것을 해킹하고 싶지 않은 경우를 대비하여 추가 테마와 플러그인이 있습니다. 지금까지는 나쁘지 않았지만 여전히 몇 가지 질문이 있습니다. 그들 중 가장 큰 것은 다음은 무엇입니까? 웹사이트에 만족한다고 가정해 보겠습니다. FTP를 통해 모든 것을 내 서버에 업로드하면 됩니까? 업데이트는 어떻게 처리하나요?

Nikola - webz용 정적 사이트 생성기

사진 속 내가 아니라 나보다 훨씬 멋진 사람이다.

다양한 빌드 시스템에 배포하는 기능, 요점을 가져오는 기능, 차트 및 썸네일 생성, 코드 블록 사용 기능과 같은 다른 흥미로운 부분을 찾았습니다. 하지만 여전히 최종 상태에 대한 초점이 불충분하다고 생각했습니다. 즉, 사용자가 콘텐츠 생성을 완료한 후 직접 로컬 빌드 환경에서 온라인 배포로 이동하는 방법은 무엇입니까?

결론

정말 중요한 질문은 Nikola Tesla가 웹 사이트를 설정했다면 오늘날 어떤 기술을 사용하고 있었을까요? 마이크로소프트 프론트페이지? 지오사이트? 니콜라? 저는 개념이 마음에 들고 불필요한 웹사이트 스켈레톤 업데이트에서 사용자의 시간을 많이 절약한다는 아이디어가 마음에 들지만 접근 방식이 너무 천박하다는 것을 알았습니다. 웹사이트 구축은 게임이 아니지만 hax0rfest가 되어서도 안 됩니다.

나를 위해 Nikola는 보다 간소화된 설정, HTML을 직접 사용하거나 최소한 코드 블록을 추가하는 기능, 보다 직관적인 미리 보기 및 배포 부분으로 더 잘할 수 있습니다. 해답은 저 밖에 있다는 것을 알지만, 아름다움은 그들이 요구하는 것보다 더 많은 것을 제공하는 간단하고 자명한 도구를 가지고 있다는 것입니다. 첫 번째 페이지를 배포할 수 있는 지점에 도달하기 위해 막대한 노동을 해야 하는 경우 시간을 절약해야 하는 바로 그 도구가 애초에 저장해야 하는 문제가 됩니다. 즉, 저는 Nikola를 좋아합니다. 이것은 매우 멋진 접근 방식이며 계속 주시할 것입니다. 결국 Web 4.0이 무엇을 가져올지 누가 알겠습니까?

건배.