ما هو برنامج التحويل البرمجي للصفحة البسيطة للنص المعاد هيكلته؟

StackOverflow https://stackoverflow.com/questions/2096558

سؤال

بدلاً من المدونة/CMS ، أرغب في الحصول على موقع ثابت قائم على HTML مع صفحات قليلة (نادرًا ما يتم تحديثها). أعتقد أن أبسط طريقة لتحديثها هي الحفاظ على المصادر بتنسيق مثل الراحة ، وتجميعها في كل مرة يتم تحديثها. ما هو المترجم الموصى به لهذا الاستخدام؟ أرغب في الحصول على موضوع/تصميمي الخاص ولا أحتاج إلى أي شيء يتجاوز بناء جملة الراحة المناسبة (Sphinx أكثر من اللازم ، على سبيل المثال).

هل كانت مفيدة؟

المحلول

REST2WEB قد يكون أكثر من نوع ما تبحث عنه.

نصائح أخرى

سيكون Makefile حلاً جيدًا للقيام بذلك. إليك قالب سريع

# Flags to pass to rst2html
# e.g. RSTFLAGS = --stylesheet-path=mystyle.css 
RSTFLAGS = 

%.html: %.rst
        rst2html $(RSTFLAGS) $< $@

.PHONY: all
.DEFAULT: all

all: index.html foo.html bar.html # any other html files to be generated from an rst file

ثم فقط الجري make في الدليل مع ملفاتك لإنشاء HTML من RST

إذا كنت لا تحتاج بالضرورة إلى نص تم إعادة هيكلته ، لكن التخفيضات أو النسيج على ما يرام ، ثم تحقق من جيكل.

أنا أستخدمه بنفسي. ممتاز.

أنا أستعمل nanoc3 جنبا إلى جنب مع docutils (عبر تثبيت sphinx) لتمكين دعم جميل إعادة هيكلة في مولد موقع ثابت. لقد نظرت إلى (وأرغب في استخدام) حل Python النقي (Hyde) ولكن Nanoc يسمح بملفات مصدر الراحة الأنظف.

لقد فكرت أيضًا في استخدام SPHINX لإنتاج موقع ثابت ، لكن ليس من السهل القيام بذلك دون تدحرج الكثير من التعليمات البرمجية لدعمه.

يسعدني بالتفصيل كيفية القيام بذلك على وجه التحديد إذا كان لا يزال هناك اهتمام بهذا الموضوع. إنه يستخدم بشكل أساسي docutils لإخراج HTML من REST المصدر. لدي معالج نانوك بسيط يقوم بذلك:

module Nanoc3::Filters

  class ReST < Nanoc3::Filter

    identifier :rest

    def run(content, params={})
      open('|rst2html.py --template=rest.template', 'r+') do |io|
        io.write(content)
        io.close_write
        io.read
      end
    end

  end

end

ملف rest.template هو في الأساس قالب وهمية مع السطر المفرد التالي:

%(body)s

قد ترغب في استخدام مولد موقع ثابت. هناك مليار منهم ...

https://www.staticgen.com/

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top