Giter Site home page Giter Site logo

org.dita4publishers.dita2indesign's Introduction

DITA for Publishers

Version 1.1.0 Under development

Master project for the DITA for Publishers activity. This project includes the toolkit plugins and samples as git submodules. See the wiki for details on how to set up new clones of this project.

NOTE: Issues for specific transformation types (EPUB, HTML5, etc.) are maintained in the project each transformation type. If you're not sure which project an issue applies to, feel free to submit the issue against the dita4publishers project.

News

5 Aug 2021 Release 1.0.0RC28

Many updates. Tested against OT 3.6.1 (see release notes in user guide). Many Word2DITA issues resolved.

24 April 2016: EPUB3 implementation essentially complete with the addition of font embedding and obfuscation.

7 Oct 2014: EPUB3 implementation is under way. See the org.dita4publishers.epub project for details.

Publishing the User Guide

The D4P User Guide is published via GitHub Pages through the separate repo dita4publishers.github.io.

To update the user guide do the following:

  1. Using InDesign, update the cover graphic to reflect the latest release and copyright date (docs/D4P Logo and User Guide Cover/D4P_UserGuide_cover Folder/D4P_UserGuide_cover.indd)
  2. Export new copies of cover-graphic.png (300PPI) and epub-cover-graphic.png (72PPI) to the user_docs/d4p-users-guide/images directory
  3. Run the html5-d4p-user-guide ant target
  4. Copy the generated HTML (d4p-users-guide from the build/docs/html5 directory) to the dita4publishers.github.io repo on branch main.
  5. Commit updates to dita4publishers.github.io repo and push

org.dita4publishers.dita2indesign's People

Contributors

contrext avatar drmacro avatar raducoravu avatar takesson avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

simonsoft jeamy

org.dita4publishers.dita2indesign's Issues

Table span failures due to empty sequence in variables

We have noticed a few situations when table spans can make the transform to Icml fail with message like:

calstbl2IcmlImpl.xsl:166: Fatal Error! An empty sequence is not allowed as the value of variable $colNumber

We have created 4 example topics with minimal tables that reproduce the issues. I have committed them in a fork of this repository.

The naming of the test files are based on table size and span size (COLxROW size):

  • table-1x2-span-1x2-test.dita fails in variable $baseWid (Line#: 378). There is a superfluous (?) entry in row 2 that some editors leave behind when spanning. Fails also when removing that entry.
  • table-2x1-span-2x1-test.dita fails in variable $baseWid.
  • table-2x2-span-2x2-test.dita fails in variable $baseWid.
  • table-3x2-span-2x2-test.dita fails in variable $colNumber (Line#: 166). This is the issue we have seen on actual authored data.

I have looked at the code for the table matrix but struggling to fully understand the implementation. Can we somehow work together to resolve these failures?

Line break in first processing instruction causes Windows Explorer to crash

The current code for creating the first processing instruction results in this:

That causes Windows Explorer to crash. Something with Adobe's programming responsible for handling icons within Windows Explorer does not like any line breaks in that processing instruction. I kid you not. Removing the line break does not cause Windows Explorer to crash. This is true for Adobe CC on Windows; I am not sure if it is true for earlier versions.

Fix is to produce the processing instruction without any line breaks in it. Commit forthcoming.

Make it easy to get a single ICML file for a complete map or subtree using runtime parameters

Requirements statement: User can specify what pattern of ICML file output is followed: (1) one-to-one, where each topic produces one ICML file; (2) many-to-one, where multiple (all) topics create one ICML file; and, potentially, (3) many-to-one, where multiple non-sidebar topics create one ICML file but topics continue to create individual ICML files on a one-to-one basis

Support images in .incx files

I've started poking again, albiet slowly, at getting images in the .incx InCopy documents. I think it maybe a little over my head to get a robust implementation, but wanted to start sharing what I've found so far.

I've found some code that we may be able to leverage at https://code.google.com/p/ickmull/source/browse/ickmull/externals/xslt/tkbr2icml.xsl

  <!-- ==================================================================== -->
  <!-- Images -->
  <!-- ==================================================================== -->
  <xsl:template match="xhtml:img">
    <xsl:variable name="halfwidth" select="@width div 2"/>
    <xsl:variable name="halfheight" select="@height div 2"/>
    <ParagraphStyleRange>
      <CharacterStyleRange>
        <Rectangle Self="uec" ItemTransform="1 0 0 1 {$halfwidth} -{$halfheight}">
          <Properties>
            <PathGeometry>
              <GeometryPathType PathOpen="false">
                <PathPointArray>
                  <PathPointType Anchor="-{$halfwidth} -{$halfheight}"
                                 LeftDirection="-{$halfwidth} -{$halfheight}"
                                 RightDirection="-{$halfwidth} -{$halfheight}"/>
                  <PathPointType Anchor="-{$halfwidth} {$halfheight}"
                                 LeftDirection="-{$halfwidth} {$halfheight}"
                                 RightDirection="-{$halfwidth} {$halfheight}"/>
                  <PathPointType Anchor="{$halfwidth} {$halfheight}"
                                 LeftDirection="{$halfwidth} {$halfheight}"
                                 RightDirection="{$halfwidth} {$halfheight}"/>
                  <PathPointType Anchor="{$halfwidth} -{$halfheight}"
                                 LeftDirection="{$halfwidth} -{$halfheight}"
                                 RightDirection="{$halfwidth} -{$halfheight}"/>
                </PathPointArray>
              </GeometryPathType>
            </PathGeometry>
          </Properties>
          <Image Self="ue6" ItemTransform="1 0 0 1 -{$halfwidth} -{$halfheight}">
            <Properties>
              <Profile type="string">$ID/Embedded</Profile>
              <GraphicBounds Left="0" Top="0" Right="{@width}" Bottom="{@height}"/>
            </Properties>
            <Link Self="ueb" LinkResourceURI="file:///{@src}"/>
          </Image>
        </Rectangle>
        <Br/>
      </CharacterStyleRange>
    </ParagraphStyleRange>
  </xsl:template>

This code is GPLv3.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.