2010-11-17 85 views
2

好吧,我的問題不是那麼廣泛,因爲它似乎,總結8個月努力在我的部分:我可以使用什麼軟件/ webapp來編輯HTML頁面?

我創建可重用的,可擴展的XHTML其緩慢下降,是各種真棒塊。我的大部分代碼塊都提供了一個Javascript交互層,並使用CSS進行樣式化。我開始將我的代碼塊拉到Dreamweaver中作爲「片段」,但它們是非智能的文本塊。而且,一旦插入,我漂亮的代碼塊就會被實際使用Dreamweaver的非技術人員所破壞。另外,因爲它們是非智能片段,所以我有一行Javascript代碼塊在初始化時配置代碼塊 - see this post for further detail on my approach。但是目前我必須多次複製一個代碼塊,因爲有配置選項(因此每個「代碼片段」可能僅與另一個相同類型的配置值不同)。這是令人難以置信的跛腳,它的工作原理,但對我來說,重新部署一堆片段並使我的團隊難以記住所有變化,這是非常蹩腳和耗時的。

所以我有一系列的要求,在我看來,最有可能的事情在我把我的塊到任何系統來解決:

  1. 插入的代碼沒有在插入時修改,由系統
  2. 的代碼中插入需求,使配置選項
  3. 我會喜出望外,如果一旦插入,唯一可編輯的部分是文本節點
  4. 複製和粘貼這些對象整體
  5. 擁塞程度從接口從我的範圍內的代碼塊選擇

它的要求,我相信一個嚴重的名單,一番搜索使我Kompoze及其「智能部件」,其根據從隨機崗位2004年,建議XUL文件可以創建和擴展可以聽起來像我想要的模糊。與Dreamweaver相比,文本編輯器本身不易受到破壞。

所以是的,我追趕了太多兔子,熱衷於解決方案無論是軟件+擴展,還是Webapp。

編輯: 順便說一句,我確實想到調查一個高度定製的TinyMCE實例,但我不知道這是可行的,除非有一些甜美的後端可用,我堅持本地編輯文件現在 - 甚至沒有在網絡服務器上...

在我看來,這個問題的最佳答案將解決大部分上述問題,並提供一些一般工作流建議以及建議。

+0

您所描述的內容聽起來完全像ASP.NET的服務器控件。你可以控制標記,而不是讓任何人改變它。您可以將配置選項作爲屬性。您可以將文本節點公開爲可由用戶編輯。您可以複製並粘貼標記以添加這些控件。如果您只將所有控件添加到單獨的程序集,Visual Studio中的自動完成界面就足夠乾淨。可能不是你想要的,但。 – 2010-11-22 23:22:36

+0

哇,是不同的聯賽完全,但我處理這個問題的更多,更深層次的解決方案往往會得到......有上述系統的對我來說是便宜的演示,很輕鬆地查出來嗎?我想不會,但如果有一個打算,可能在概念上提供一些見解,謝謝:) – danjah 2010-11-22 23:35:04

+1

嗯,ASP.NET是IIS服務器(Windows 7專業版及以上版本,Windows Vista中專業的部分上運行的免費系統以上或任何Windows Server產品)。您還可以使用Mono在Linux系統上運行ASP.NET。你看看如何在這裏建立服務器控件教程:http://www.4guysfromrolla.com/articles/102903-1.aspx。在頁面的最底部,您可以看到您將用於將服務器控件插入到頁面中的消耗性標記。看起來很像你上面描述的。 – 2010-11-24 03:54:07

回答

2

我會去與基於優秀markItUp!編輯器的解決方案。擴展它以適應您的要求非常簡單。你可以添加複雜的邏輯,它很好,有光澤。

我可能會將它與Jeditable結合起來用於內聯節點編輯,並且在Django之上構建整個事物,以方便和方便。完全可自定義,非常易於使用,便攜式和跨平臺,並易於設置離線使用。哦,所有的自由和開源。

+0

哇,夥計,你釘了它,非常感謝。 – danjah 2010-11-27 21:50:32

0

你覺得這種做法是什麼:

<div class="thing"> 
    <elements... /> 
    <script type="text/javascript"> 
     document.write('<span id="thing' + thingNo + '"></span>') 
     new Thing().init({ id:'thing'+thingNo; }); 
     thingNo += 1; 
    </script> 
</div> 

當然,你必須改變的事()初始化,這樣它會初始化父(而不是電流)節點。

+0

好,我很喜歡,但回到這個問題:P – danjah 2010-11-17 20:40:18

+0

其實,這是不理想,想回來,因爲我需要引用實例化的對象 - 我能夠通過「新的類創建()時,要做到這一點的方法(。 )「?任何讀者應該知道,評論這個答案,鏈主要是無關這裏被要求的實際問題。 – danjah 2010-11-22 22:35:10

0

您是否考慮過server-side includes指令是生成的頁面還是shell命令?例如。:

<!--#include virtual="./activePage.aspx?withParam1=something&amp;param2=somethingelse" --> 

<!--#exec cmd="shellCommand -withParams" --> 

您可以重複使用相同頁面或命令,並提供具體到每個XHTML頁面每次使用的參數。

相關問題