Mylyn Wikitext için API belgelerinin Wiki İşaretlemesini HTML'ye dönüştürmek için işlevleri vardır, ancak HTML kodunu Wiki İşaretlemesi'ne dönüştürmek/ayrıştırmak için işlevleri bulamıyorum. Sınıf MarkupParser
, parseToHTML
yöntemine sahiptir, ancak tersi nerede bulabilirim?HTML kodunu Kıyaslama stilinde Wiki İşaretlemesi'ne nasıl dönüştürebilirim?
cevap
bu bağlantıyı yardımcı olabilir olabilir:
olarak bildiğim kadarıyla Confluence wiki biçimlendirme HTML dönüştürmek için bir yolu yoktur. Ve Atlassian, konfluence 4.x'te tekstili wiki işaretlemesi olarak kullanmayı bıraktığı için, bir dönüşüme gerek yoktur. Sayfa formatı ist XHTML.
@Graham Hannington bu cevabı, yanıtının altındaki yorumlarda onaylamamıştır ve hem kendimiz hem de HTML'yi Confluence wiki biçimlendirmesine dönüştürmenin yollarını yayınladık. – JoshDM
Wikifier'u deneyin.
Tam olarak ne istediğinizi yapmaz, ancak yeterli olduğunu veya yararlı bir başlangıç noktası olduğunu görebilirsiniz.
Wikifier, Confluence 4 XML depolama biçiminin (diğer bir deyişle, tek bir belge kök öğesi olmadan, Confluence Kaynak Düzenleyicisi eklentisi tarafından sunulan şekilde) Conflicence 3 wiki işaretlemesinin snippet'lerini dönüştürür.
Sorunuzla neden bu kadar alakalı? Confluence 4 XML depolama biçimi, XHTML öğeleri ve öznitelikleriyle aynı isimlere sahip bazı öğeler ve özellikler içerir.
Daha fazla bilgi için, Wikifier web sayfasındaki Yardım bağlantısını tıklatın.
Not: Wikifier web sayfası tarafından kullanılan XSLT stil sayfası, ilgili şema paketi ile birlikte gelen XSLT stil sayfasından biraz daha günceldir.
Bu daha sonra ekledi: Wikifier RT İstediğinize daha yakındır.
@Christian Koch: Confluence 4 depolama biçimi XHTML değil. Daha doğrusu, Confluence 4 XML depolama formatı, XHTML gövde elemanının (ve bazı özelliklerinin bazıları) bazı soyadlarıyla aynı isimlere sahip olan elemanlar içerir. Atlassian, Confluence 4 depolama formatını XHTML olarak ifade ediyordu, ancak son zamanlarda (bazı komutlarla) "XHTML tabanlı" olarak bahsediyorlar. "XHTML'nin hangi alt grubu Konfluence'yi destekliyor?" Sorusuna. (2012-04-12), Atlassian, "bu sayfa zaten kapsamlı - bu sayfada belgelenmiş olan etiketleri görmezden gelinebilir" yanıtını verdi. " –
Wikifier RT'yi denedim ve mükemmel." Teşekkür ederim. – raisercostin
WikiText Standalone'u kullanarak Mylyn'de bunu nasıl yapacağınız. İstediğiniz Wiki işaretlemesi için uygun DocumentBuilder
'u değiştirin (mevcut olanı görmek için API'yi kontrol etmeniz gerekir; TextileDocumentBuilder
da mevcut).
Dosya ConvertToConfluence.java:
package com.stackoverflow.mylyn;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.StringWriter;
import org.eclipse.mylyn.internal.wikitext.confluence.core.ConfluenceDocumentBuilder;
import org.eclipse.mylyn.wikitext.core.parser.HtmlParser;
import org.xml.sax.InputSource;
public class ConvertToConfluence {
public static String convertHTML(File htmlFile) {
InputStream in = null;
try {
in = new FileInputStream(htmlFile);
} catch (Exception ex) {
// TODO: handle or re-throw file exception
}
InputSource inputSource = new InputSource(new InputStreamReader(in));
StringWriter writer = new StringWriter();
ConfluenceDocumentBuilder builder = new ConfluenceDocumentBuilder(writer);
HtmlParser parser = new HtmlParser();
try {
parser.parse(inputSource, builder);
} catch (Exception ex) {
// TODO: handle or re-throw parsing exception
}
return writer.toString();
}
public static void main(String args[]) {
File file = new File("c:\\filename.html");
System.out.println(convertHTML(file));
}
}
Dosya filename.html: Ben HTML elde etmeyi başardı
This is *bold text* and some _italic text_.
\\TEST!
Kavanozu Maven üzerinden indirdim ancak HTMLParser dosyasını bulamadım. – Tarun
:
<HTML>
<BODY>
<p>This is <b>bold text</b> and some <i>italic text</i>.<br/><br/>TEST!</p>
</BODY>
</HTML>
Kavşak çıkışını üretir aleyhte Atlassian'ın kendi Java kütüphanelerinden DefaultWysiwygConverter
kullanarak akıcılık stili WikiMarkup. POM doğru depoları ve bağımlılıkları
<dependency>
<groupId>com.atlassian.renderer</groupId>
<artifactId>atlassian-renderer</artifactId>
<version>8.0.5</version>
<exclusions>
<exclusion>
<!-- This exclusion is necessary if you are in a situation which
it conflicts, EG: using spring-boot -->
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<repositories>
<repository>
<!-- https://developer.atlassian.com/docs/advanced-topics/working-with-maven/atlassian-maven-repositories -->
<id>atlassian-public</id>
<url>https://packages.atlassian.com/maven/repository/public</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
<releases>
<enabled>true</enabled>
<checksumPolicy>warn</checksumPolicy>
</releases>
</repository>
</repositories>
'a yardım edebilir misiniz, bence bu en iyi seçenek. Doğrudan Atlassian'ın kendi ayrıştırıcısını kullanıyor. Bazı insanlar, [atlassian forumlarda] (https://community.atlassian.com/t5/Jira-questions/How-to-convert-html-to-Atlassian-markup-in-java-app/qaq-p/ 657726), bağımlılıkları düzeltmede sorun yaşıyor, bu yüzden bu örneği [github] (https://github.com/paul-nelson-baker/html-to-jira-markup) üzerinde çalışan bir POM ile sunarım. –
Cevabınız için teşekkürler içermelidir
: Burada basitleştirilmiş birim testi. Ama istediğim, bir HTML dosya içeriğini girdi olarak alan ve bana Wiki biçimlendirme metnini veren bir java API'sı. –
@Vinay Bedre - sorunuza cevabımı görün; Dönüşümünüzü gerçekleştirmek için Mylyn kitaplığını kullanabilirsiniz. – JoshDM