Drupal: text/plain – podpora obrázků a dalších vnořených elementů uvnitř odkazů.
authorFrantišek Kučera <franta-hg@frantovo.cz>
Mon Oct 17 19:50:23 2011 +0200 (2011-10-17)
changeset 9170286a6cf338
parent 90 2ed2497d4559
child 92 a865136070a0
Drupal: text/plain – podpora obrázků a dalších vnořených elementů uvnitř odkazů.
bin/sonews.sh
helpers/mimeTextPart.xsl
     1.1 --- a/bin/sonews.sh	Mon Oct 17 19:12:42 2011 +0200
     1.2 +++ b/bin/sonews.sh	Mon Oct 17 19:50:23 2011 +0200
     1.3 @@ -9,9 +9,12 @@
     1.4  $NEWSROOT/lib/commons-codec-1.5.jar:\
     1.5  $NEWSROOT/lib/mysql-connector-java.jar:\
     1.6  $NEWSROOT/lib/javax.mail.jar:\
     1.7 +$NEWSROOT/lib/saxon.jar:\
     1.8  $NEWSROOT/lib/postgresql-8.3-604.jdbc4.jar:\
     1.9  $NEWSROOT/lib/mysql-connector-java-5.1.7-bin.jar
    1.10  
    1.11 +JAVA_OPTIONS="-Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl";
    1.12 +
    1.13  LOGFILE=var/log/sonews.log
    1.14  PIDFILE=var/pid/sonews.pid
    1.15  ARGS=$@
    1.16 @@ -23,7 +26,7 @@
    1.17  case "$1" in
    1.18    start)
    1.19      echo "Starting sonews Newsserver..."
    1.20 -    $JAVA -classpath $CLASSPATH $MAINCLASS $ARGS &> $LOGFILE &
    1.21 +    $JAVA $JAVA_OPTIONS -classpath $CLASSPATH $MAINCLASS $ARGS &> $LOGFILE &
    1.22      echo $! > $PIDFILE
    1.23      ;;
    1.24    stop)
     2.1 --- a/helpers/mimeTextPart.xsl	Mon Oct 17 19:12:42 2011 +0200
     2.2 +++ b/helpers/mimeTextPart.xsl	Mon Oct 17 19:50:23 2011 +0200
     2.3 @@ -10,12 +10,14 @@
     2.4  	<xsl:strip-space elements="*"/>
     2.5  	
     2.6  	<xsl:variable name="urlBase" select="/h:html/h:head/h:base/@href"/>
     2.7 +
     2.8  	
     2.9  	<!-- Celý dokument -->
    2.10  	<xsl:template match="/">
    2.11  		<xsl:apply-templates select="h:html/h:body"/>
    2.12  	</xsl:template>
    2.13  
    2.14 +
    2.15  	<xsl:template match="h:h1">
    2.16  		<xsl:value-of select="text()"/>
    2.17  		<xsl:text>&#10;</xsl:text>
    2.18 @@ -24,6 +26,7 @@
    2.19  		<xsl:text>&#10;</xsl:text>
    2.20  	</xsl:template>
    2.21  	
    2.22 +	
    2.23  	<xsl:template match="h:h2">
    2.24  		<xsl:value-of select="text()"/>
    2.25  		<xsl:text>&#10;</xsl:text>
    2.26 @@ -32,6 +35,7 @@
    2.27  		<xsl:text>&#10;</xsl:text>
    2.28  	</xsl:template>
    2.29  	
    2.30 +	
    2.31  	<xsl:template match="h:h3">
    2.32  		<xsl:for-each select="1 to 3">#</xsl:for-each>
    2.33  		<xsl:text> </xsl:text>
    2.34 @@ -39,7 +43,7 @@
    2.35  		<xsl:text>&#10;</xsl:text>
    2.36  		<xsl:text>&#10;</xsl:text>
    2.37  	</xsl:template>
    2.38 -
    2.39 +	
    2.40  	
    2.41  	<xsl:template match="h:h4">
    2.42  		<xsl:for-each select="1 to 4">#</xsl:for-each>
    2.43 @@ -48,7 +52,7 @@
    2.44  		<xsl:text>&#10;</xsl:text>
    2.45  		<xsl:text>&#10;</xsl:text>
    2.46  	</xsl:template>
    2.47 -
    2.48 +	
    2.49  	
    2.50  	<xsl:template match="h:h5">
    2.51  		<xsl:for-each select="1 to 5">#</xsl:for-each>
    2.52 @@ -58,6 +62,7 @@
    2.53  		<xsl:text>&#10;</xsl:text>
    2.54  	</xsl:template>
    2.55  	
    2.56 +	
    2.57  	<xsl:template match="h:h6">
    2.58  		<xsl:for-each select="1 to 6">#</xsl:for-each>
    2.59  		<xsl:text> </xsl:text>
    2.60 @@ -72,6 +77,7 @@
    2.61  		<xsl:text>&#10;</xsl:text>
    2.62  		<xsl:text>&#10;</xsl:text>
    2.63  	</xsl:template>
    2.64 +
    2.65  	
    2.66  	<xsl:template match="h:blockquote/h:p">
    2.67  		<xsl:text>&gt; </xsl:text>
    2.68 @@ -80,9 +86,10 @@
    2.69  		<xsl:text>&#10;</xsl:text>
    2.70  	</xsl:template>
    2.71  	
    2.72 +	
    2.73  	<xsl:template match="h:a">
    2.74  		<xsl:text>"</xsl:text>
    2.75 -		<xsl:value-of select="text()"/>
    2.76 +		<xsl:apply-templates select="node()"/>
    2.77  		<xsl:text>" &lt;</xsl:text>
    2.78  		<xsl:choose>
    2.79  			<xsl:when test="matches(@href, '^(http:|https:|ftp:)')">
    2.80 @@ -110,6 +117,7 @@
    2.81  		</xsl:if>
    2.82  	</xsl:template>
    2.83  	
    2.84 +	
    2.85  	<xsl:template match="h:img">
    2.86  		<xsl:variable name="obrázek">
    2.87  			<h:a href="{@src}" title="{@title}">Obrázek: <xsl:value-of select="@alt"/></h:a>
    2.88 @@ -117,18 +125,21 @@
    2.89  		<xsl:apply-templates select="$obrázek/node()"/>
    2.90  	</xsl:template>
    2.91  	
    2.92 +	
    2.93  	<xsl:template match="h:strong|h:b">
    2.94  		<xsl:text>**</xsl:text>
    2.95  		<xsl:apply-templates/>
    2.96  		<xsl:text>**</xsl:text>
    2.97  	</xsl:template>
    2.98  	
    2.99 +	
   2.100  	<xsl:template match="h:em|h:i">
   2.101  		<xsl:text>*</xsl:text>
   2.102  		<xsl:apply-templates/>
   2.103  		<xsl:text>*</xsl:text>
   2.104  	</xsl:template>
   2.105  	
   2.106 +	
   2.107  	<xsl:template match="h:abbr[@title]">
   2.108  		<xsl:apply-templates/>
   2.109  		<xsl:text> (</xsl:text>
   2.110 @@ -136,6 +147,7 @@
   2.111  		<xsl:text>)</xsl:text>
   2.112  	</xsl:template>
   2.113  	
   2.114 +	
   2.115  	<xsl:template match="h:pre">
   2.116  		<xsl:text>--------------------------------</xsl:text>
   2.117  		<xsl:text>&#10;</xsl:text>
   2.118 @@ -146,29 +158,34 @@
   2.119  		<xsl:text>&#10;</xsl:text>
   2.120  	</xsl:template>
   2.121  	
   2.122 +	
   2.123  	<xsl:template match="h:code">
   2.124  		<xsl:text>`</xsl:text>
   2.125  		<xsl:apply-templates/>
   2.126  		<xsl:text>`</xsl:text>
   2.127  	</xsl:template>
   2.128  	
   2.129 +	
   2.130  	<xsl:template match="h:hr">
   2.131  		<xsl:text>----------------------------------------------------------------</xsl:text>
   2.132  		<xsl:text>&#10;</xsl:text>
   2.133  		<xsl:text>&#10;</xsl:text>
   2.134  	</xsl:template>
   2.135  	
   2.136 +	
   2.137  	<xsl:template match="h:ul">
   2.138  		<xsl:apply-templates/>
   2.139  		<xsl:text>&#10;</xsl:text>
   2.140  	</xsl:template>
   2.141  	
   2.142 +	
   2.143  	<xsl:template match="h:ul/h:li">
   2.144  		<xsl:text> - </xsl:text>
   2.145  		<xsl:apply-templates/>
   2.146  		<xsl:text>&#10;</xsl:text>
   2.147  	</xsl:template>
   2.148  	
   2.149 +	
   2.150  	<xsl:template match="h:ol">
   2.151  		<xsl:for-each select="h:li">
   2.152  			<xsl:value-of select="concat(' ', position(), ') ')"/>
   2.153 @@ -179,12 +196,6 @@
   2.154  	</xsl:template>
   2.155  	
   2.156  	
   2.157 -	<!--
   2.158 -	<xsl:template match="h:blockquote[matches(p/text(), '^(\"|„)')]">
   2.159 -		
   2.160 -	</xsl:template>
   2.161 -	-->
   2.162 -	
   2.163  	<xsl:template match="text()[not(parent::h:pre)]">
   2.164  		<xsl:if test="matches(., '^\s')">
   2.165  			<xsl:text> </xsl:text>
   2.166 @@ -197,6 +208,10 @@
   2.167  
   2.168  	
   2.169  	<xsl:template match="h:div[@class='wwwLinks']">
   2.170 +		<!-- 
   2.171 +			Dvě pomlčky a mezeru budou e-maliloví klienti považovat za začátek podpisu
   2.172 +			a zobrazí ho šedivým písmem a nebudou ho citovat v odpovědích.
   2.173 +		-->
   2.174  		<xsl:text>-- </xsl:text>
   2.175  		<xsl:text>&#10;</xsl:text>
   2.176  		<xsl:apply-templates/>