Задать вопрос
  • Варианты поиска текстовой ноды с вложенными inline-тегами?

    @drumminman Автор вопроса
    Tehwriter, mountain biker, trailbuilder
    В общем, спустя два года, на помощь пришел китайский ИИ. Совместными усилиями был рожден следующий способ:
    <xsl:template match="entry">
        <xsl:copy>
            <xsl:copy-of select="@*"/>
            <xsl:for-each-group select="node()" 
                group-adjacent="boolean(
                    self::para | 
                    self::itemizedlist | 
                    self::orderedlist | 
                    self::variablelist |
                    self::table |
                    self::informaltable
                )">
                
                <xsl:choose>
                    <!-- Группа блочных элементов -->
                    <xsl:when test="current-grouping-key()">
                        <xsl:apply-templates select="current-group()"/>
                    </xsl:when>
                    
                    <!-- Группа текста/инлайн-элементов - оборачиваем только если есть значимый контент -->
                    <xsl:otherwise>
                        <xsl:variable name="group-content">
                            <xsl:apply-templates select="current-group()"/>
                        </xsl:variable>
                        
                        <xsl:if test="normalize-space($group-content) != ''">
                            <para>
                                <xsl:copy-of select="$group-content"/>
                            </para>
                        </xsl:if>
                    </xsl:otherwise>
                </xsl:choose>
            </xsl:for-each-group>
        </xsl:copy>
    </xsl:template>

    где мы используем инструкции и функции xsl 2.0 for-each-group и group-content() для группировки. Т.к. у нас есть четкое деление на блочные элементы, и все остальное, то отделяем блочные от неблочных, и все непустые неблочные (к которым и относится голый текст либо инлайн-элементы) оборачиваем в нужный нам блочный элемент. Вроде работает.
    Ответ написан
    Комментировать
  • Как нормализовать вывод содержимого элемента, если в нем есть дочерние inline-элементы?

    @drumminman Автор вопроса
    Tehwriter, mountain biker, trailbuilder
    Нашел рабочий, в целом, вариант в одном из вопросов
    Ответ написан
    Комментировать
  • Как это сверстать?

    @drumminman
    Tehwriter, mountain biker, trailbuilder
    Можно с помощью css-фреймворка, тот же Bootstrap, или если еще проще - Purecss.
    <div class="pure-g">
            <div id="item1" class="pure-u-1-4">...</div>
            <div id="item2" class="pure-u-1-4">...</div>
            <div id="item3" class="pure-u-1-4">...</div>
            <div id="item4" class="pure-u-1-4">...</div>
            <div id="item5" class="pure-u-1-4">...</div>
            <div id="item6" class="pure-u-1-4">...</div>
            <div id="item7" class="pure-u-1-4">...</div>
            <div id="item8" class="pure-u-1-4">...</div>
    </div>

    При этом у классов pure-g по умолчанию display:flex. так что все махинации с флексбоксами к ним так же применимы.
    Ответ написан
    Комментировать
  • Онлайн аналоги Adobe Edge Reflow?

    @drumminman Автор вопроса
    Tehwriter, mountain biker, trailbuilder
    Ток вот он только с заранее нарезанными psd макетами работает, или я чего то не понимаю
    Ответ написан