返回 Discover
Field DispatchHacker News3 · 2026-05-27

I Bypassed Adobe and Microsoft to Build a Git-Tracked Book Production Pipeline

www.djspeckhals.com

Points
103
Comments
30
日榜排名
#3
Host
www.djspeckhals.com
痛点分析发布于 2026/05/26

痛点为 AI 基于上游原始证据的初步提炼;未包含额外中国市场检索。

痛点

自出版作者在书籍排版和格式转换中面临多工具协作的摩擦。原始流程依赖Word撰写、InDesign排版、Kindle Create等工具,每次修改需手动同步多个文件(如更新DOCX主文件后再更新InDesign),容易遗漏或出错。评论中用户指出“Word到PDF X-1/a再到epub/kindle的流程很痛苦,出版后做小修改也容易因未同步所有格式而引入错误”。这种手动同步导致重复劳动和版本混乱,尤其当需要同时维护印刷版和电子版时,修改成本高、质量不稳定。此外,现有专业排版工具(如InDesign)学习曲线陡峭且价格昂贵,而开源方案(如LaTeX)对非技术作者不友好,用户被迫在易用性和控制力之间妥协。

External Article

External article summary

How a software developer bypassed proprietary publishing silos using LibreOffice, Standard Ebooks, and LaTeX to build a sustainable, Git-tracked book production pipeline.

External Article

External article source

Article title
How I Bypassed Adobe and Microsoft to Build a Git-Tracked Book Production Pipeline
Host
www.djspeckhals.com
§ Dossier

Selected HN comments

As someone who worked for years in commercial print, before most manufacturing moved overseas, I recall the workflows the article discusses as being more automate-able than the author seems to understand. For example, "Making the slightest change became a chore. [1.] Update the 'master' DOCX. [2.] Update the InDesign file ..." --the appropriate way to use an external document as master in InDesign is to use the Place command, which autoupdates text changes as they are made in Word. As another example, InDesign supports multiple formats of EPUB by direct export. I also question the author's familiarity with common LaTeX workflows. "'Why didn’t you just author it in LaTeX? ...' you might ask. [B]ut I prefer writing novels in a word processor, not a text editor." And, "How do I convert an ODT file to TeX?" Word processors offer exports of all kinds, including to plain text, and the purpose of a TeX editor is, like InDesign, to typeset text that is often written elsewhere. Capturing the styling from the word processor seems antithetical to the desire for an advanced typesetting tool. Overall, as a technical writeup I enjoyed the article; however, I would caution that the author seems to approach publishing from an amateur perspective.

Exoristos

I have a related pipeline that is based on HTML, EPublish, and Calibre: https://frequal.com/forwriters/ I used it for a recent novel: https://www.amazon.com/dp/B0GYCZJVGX

TeaVMFan

Kudos to you for doing that. I've been publishing print and ebooks since 2015, and I can attest to the fact the Word to PDF X-1/a to epub/kindle pipeline is painful. Making minor edits after publication is also painful, as the author notes, and can be error prone if you fail to make identical changes to all formats. The problem was bad enough that I built by own markdown to HTML to PDF/X-1a processor using Python, WeasyPrint, and ghostscript. This also allows me to use git for version control, and I can make formatting changes using vanilla CSS. My tools are currently too crude for the average non-tech writer to use, but they save me hours every time I use them. For any of you hackers out there looking for an untapped market, try making a user-friendly tool that converts Word, PDF and/or similar formats to the print-ready PDF/X-1a, PDF/X-3 and PDF/X-4 formats. At the moment, all the existing tools are proprietary and expensive, and many are difficult to use. This won't be a big money maker, but it will certainly be welcome by many indie authors.

diamondap

Setting up good book publishing pipelines with version control + CI/CD might sounds simple, but I don't think it's trivial. One of the best examples of this that I've ever seen is The Sourdough Framework [0] -- really impressed with the way that versioning and publishing is integrated in that book. And yes -- I know it sounds like yet another Javascript library -- but it's actually a book about sourdough bread making. It's been discussed here several times before, but this one from 2023 [1] may have been the most popular (103 comments) [0] - https://github.com/hendricius/the-sourdough-framework [1] - https://news.ycombinator.com/item?id=35961590

HanClinto

My only problem using git and a text editor is deciding whether I want hard or soft wraps. Vim handles hard wraps better IMO and you can change the git diff engine to something like difft, which makes it much more bearable than the default for hard wrap prose. But softwrap definitely has its advantages: no hard line breaks makes copying the text into other mediums easier, git diffs show only which paragraphs you edited and not a bunch of line diff noise no matter which engine you use. Only problem is it breaks my yy, dd, cc muscle memory, as AFAIK you can't force those to work on virtual (vs logical) lines.

helterskelter
源数据· Raw Archive
source
Hacker News
upstream_source
hacker_news
upstream_item_id
48238703
daily_ranking_item_id
57c8acad-2b6c-4948-b33d-65921fc56c5b
rank_date
2026-05-27
rank
3
name
I Bypassed Adobe and Microsoft to Build a Git-Tracked Book Production Pipeline
tagline
www.djspeckhals.com
votes_count
103
comments_count
30
created_at_on_source
2026-05-22T17:17:43.000Z
media / source-specific data
{
  "author": "dustin1114",
  "hn_item_id": 48238703,
  "external_url": "https://www.djspeckhals.com/posts/2026-05-22-how-i-bypassed-adobe-and-microsoft-to-build-a-git-tracked-book-production-pipeline/"
}
raw_payload
{
  "by": "dustin1114",
  "id": 48238703,
  "url": "https://www.djspeckhals.com/posts/2026-05-22-how-i-bypassed-adobe-and-microsoft-to-build-a-git-tracked-book-production-pipeline/",
  "kids": [
    48284505,
    48286203,
    48284209,
    48284934,
    48284267,
    48285827,
    48284948,
    48285715,
    48284075,
    48284533,
    48284293,
    48285435
  ],
  "time": 1779470263,
  "type": "story",
  "score": 103,
  "title": "I Bypassed Adobe and Microsoft to Build a Git-Tracked Book Production Pipeline",
  "descendants": 30
}
source_raw_snapshot
{
  "id": "33928e83-7f46-4f77-9ce0-234dddebb946",
  "daily_ranking_item_id": "57c8acad-2b6c-4948-b33d-65921fc56c5b",
  "source": "hacker_news",
  "external_id": "48238703",
  "fetched_at": "2026-05-26T22:01:17.260Z",
  "story_raw": {
    "by": "dustin1114",
    "id": 48238703,
    "url": "https://www.djspeckhals.com/posts/2026-05-22-how-i-bypassed-adobe-and-microsoft-to-build-a-git-tracked-book-production-pipeline/",
    "kids": [
      48284505,
      48286203,
      48284209,
      48284934,
      48284267,
      48285827,
      48284948,
      48285715,
      48284075,
      48284533,
      48284293,
      48285435
    ],
    "time": 1779470263,
    "type": "story",
    "score": 103,
    "title": "I Bypassed Adobe and Microsoft to Build a Git-Tracked Book Production Pipeline",
    "descendants": 30
  },
  "stats_raw": {
    "time": 1779470263,
    "score": 103,
    "descendants": 30
  },
  "aux_raw": {
    "external_url": "https://www.djspeckhals.com/posts/2026-05-22-how-i-bypassed-adobe-and-microsoft-to-build-a-git-tracked-book-production-pipeline/",
    "hn_comment_url": "https://news.ycombinator.com/item?id=48238703",
    "normalized_text": null,
    "external_article": {
      "title": "How I Bypassed Adobe and Microsoft to Build a Git-Tracked Book Production Pipeline",
      "excerpt": "The most important piece of fiction writing is the story. Are the characters compelling? Is the plot exciting and coherent? Is the story believable? Paired with that is writing quality, which includes grammar, syntax, spelling, and punctuation. Without an immense amount of work on these points, authors lack a book worth publishing.\n\nFormatting and typesetting a novel can become an afterthought. It’s probably the most technology-driven part of the self-publishing process, which can be scary to authors who just want to get a polished book into readers’ hands. I don’t mean to imply my formatting process is the best or the easiest. It works for me and satisfies my inclinations as both an independent novelist and software developer.\n\nI started safe. All three of my Christian historical novels— Heretics of Piedmont , The Lord of Luserna , and Prince of Savoy , plus my novella The Outcast of Chivasso —started as Microsoft Word files (DOCX). The vast majority of editors and proofreaders rely on Word for tracked changes, and practically every final formatting program (Adobe InDesign, Kindle Create, Calibre, Atticus, etc.) can import DOCX files. Like a good boy, I used paragraph styles rathe",
      "final_url": "https://www.djspeckhals.com/posts/2026-05-22-how-i-bypassed-adobe-and-microsoft-to-build-a-git-tracked-book-production-pipeline/",
      "fetched_at": "2026-05-26T22:01:09.825Z",
      "description": "How a software developer bypassed proprietary publishing silos using LibreOffice, Standard Ebooks, and LaTeX to build a sustainable, Git-tracked book production pipeline."
    },
    "selected_comments": [
      {
        "id": 48284505,
        "raw": {
          "by": "Exoristos",
          "id": 48284505,
          "kids": [
            48285590,
            48285255,
            48286538,
            48285129
          ],
          "text": "As someone who worked for years in commercial print, before most manufacturing moved overseas, I recall the workflows the article discusses as being more automate-able than the author seems to understand. For example, &quot;Making the slightest change became a chore. [1.] Update the &#x27;master&#x27; DOCX. [2.] Update the InDesign file ...&quot; --the appropriate way to use an external document as master in InDesign is to use the Place command, which autoupdates text changes as they are made in Word. As another example, InDesign supports multiple formats of EPUB by direct export. I also question the author&#x27;s familiarity with common LaTeX workflows. &quot;&#x27;Why didn’t you just author it in LaTeX? ...&#x27; you might ask. [B]ut I prefer writing novels in a word processor, not a text editor.&quot; And, &quot;How do I convert an ODT file to TeX?&quot; Word processors offer exports of all kinds, including to plain text, and the purpose of a TeX editor is, like InDesign, to typeset text that is often written elsewhere. Capturing the styling from the word processor seems antithetical to the desire for an advanced typesetting tool.<p>Overall, as a technical writeup I enjoyed the article; however, I would caution that the author seems to approach publishing from an amateur perspective.",
          "time": 1779822826,
          "type": "comment",
          "parent": 48238703
        },
        "body": "As someone who worked for years in commercial print, before most manufacturing moved overseas, I recall the workflows the article discusses as being more automate-able than the author seems to understand. For example, \"Making the slightest change became a chore. [1.] Update the 'master' DOCX. [2.] Update the InDesign file ...\" --the appropriate way to use an external document as master in InDesign is to use the Place command, which autoupdates text changes as they are made in Word. As another example, InDesign supports multiple formats of EPUB by direct export. I also question the author's familiarity with common LaTeX workflows. \"'Why didn’t you just author it in LaTeX? ...' you might ask. [B]ut I prefer writing novels in a word processor, not a text editor.\" And, \"How do I convert an ODT file to TeX?\" Word processors offer exports of all kinds, including to plain text, and the purpose of a TeX editor is, like InDesign, to typeset text that is often written elsewhere. Capturing the styling from the word processor seems antithetical to the desire for an advanced typesetting tool. Overall, as a technical writeup I enjoyed the article; however, I would caution that the author seems to approach publishing from an amateur perspective.",
        "is_op": false,
        "author": "Exoristos",
        "raw_body": "As someone who worked for years in commercial print, before most manufacturing moved overseas, I recall the workflows the article discusses as being more automate-able than the author seems to understand. For example, &quot;Making the slightest change became a chore. [1.] Update the &#x27;master&#x27; DOCX. [2.] Update the InDesign file ...&quot; --the appropriate way to use an external document as master in InDesign is to use the Place command, which autoupdates text changes as they are made in Word. As another example, InDesign supports multiple formats of EPUB by direct export. I also question the author&#x27;s familiarity with common LaTeX workflows. &quot;&#x27;Why didn’t you just author it in LaTeX? ...&#x27; you might ask. [B]ut I prefer writing novels in a word processor, not a text editor.&quot; And, &quot;How do I convert an ODT file to TeX?&quot; Word processors offer exports of all kinds, including to plain text, and the purpose of a TeX editor is, like InDesign, to typeset text that is often written elsewhere. Capturing the styling from the word processor seems antithetical to the desire for an advanced typesetting tool.<p>Overall, as a technical writeup I enjoyed the article; however, I would caution that the author seems to approach publishing from an amateur perspective.",
        "created_at": 1779822826,
        "reply_count": 4
      },
      {
        "id": 48286203,
        "raw": {
          "by": "TeaVMFan",
          "id": 48286203,
          "text": "I have a related pipeline that is based on HTML, EPublish, and Calibre:<p><a href=\"https:&#x2F;&#x2F;frequal.com&#x2F;forwriters&#x2F;\" rel=\"nofollow\">https:&#x2F;&#x2F;frequal.com&#x2F;forwriters&#x2F;</a><p>I used it for a recent novel: <a href=\"https:&#x2F;&#x2F;www.amazon.com&#x2F;dp&#x2F;B0GYCZJVGX\" rel=\"nofollow\">https:&#x2F;&#x2F;www.amazon.com&#x2F;dp&#x2F;B0GYCZJVGX</a>",
          "time": 1779830806,
          "type": "comment",
          "parent": 48238703
        },
        "body": "I have a related pipeline that is based on HTML, EPublish, and Calibre: https://frequal.com/forwriters/ I used it for a recent novel: https://www.amazon.com/dp/B0GYCZJVGX",
        "is_op": false,
        "author": "TeaVMFan",
        "raw_body": "I have a related pipeline that is based on HTML, EPublish, and Calibre:<p><a href=\"https:&#x2F;&#x2F;frequal.com&#x2F;forwriters&#x2F;\" rel=\"nofollow\">https:&#x2F;&#x2F;frequal.com&#x2F;forwriters&#x2F;</a><p>I used it for a recent novel: <a href=\"https:&#x2F;&#x2F;www.amazon.com&#x2F;dp&#x2F;B0GYCZJVGX\" rel=\"nofollow\">https:&#x2F;&#x2F;www.amazon.com&#x2F;dp&#x2F;B0GYCZJVGX</a>",
        "created_at": 1779830806,
        "reply_count": 0
      },
      {
        "id": 48284209,
        "raw": {
          "by": "diamondap",
          "id": 48284209,
          "text": "Kudos to you for doing that.<p>I&#x27;ve been publishing print and ebooks since 2015, and I can attest to the fact the Word to PDF X-1&#x2F;a to epub&#x2F;kindle pipeline is painful. Making minor edits after publication is also painful, as the author notes, and can be error prone if you fail to make identical changes to all formats.<p>The problem was bad enough that I built by own markdown to HTML to PDF&#x2F;X-1a processor using Python, WeasyPrint, and ghostscript. This also allows me to use git for version control, and I can make formatting changes using vanilla CSS. My tools are currently too crude for the average non-tech writer to use, but they save me hours every time I use them.<p>For any of you hackers out there looking for an untapped market, try making a user-friendly tool that converts Word, PDF and&#x2F;or similar formats to the print-ready PDF&#x2F;X-1a, PDF&#x2F;X-3 and PDF&#x2F;X-4 formats. At the moment, all the existing tools are proprietary and expensive, and many are difficult to use. This won&#x27;t be a big money maker, but it will certainly be welcome by many indie authors.",
          "time": 1779821721,
          "type": "comment",
          "parent": 48238703
        },
        "body": "Kudos to you for doing that. I've been publishing print and ebooks since 2015, and I can attest to the fact the Word to PDF X-1/a to epub/kindle pipeline is painful. Making minor edits after publication is also painful, as the author notes, and can be error prone if you fail to make identical changes to all formats. The problem was bad enough that I built by own markdown to HTML to PDF/X-1a processor using Python, WeasyPrint, and ghostscript. This also allows me to use git for version control, and I can make formatting changes using vanilla CSS. My tools are currently too crude for the average non-tech writer to use, but they save me hours every time I use them. For any of you hackers out there looking for an untapped market, try making a user-friendly tool that converts Word, PDF and/or similar formats to the print-ready PDF/X-1a, PDF/X-3 and PDF/X-4 formats. At the moment, all the existing tools are proprietary and expensive, and many are difficult to use. This won't be a big money maker, but it will certainly be welcome by many indie authors.",
        "is_op": false,
        "author": "diamondap",
        "raw_body": "Kudos to you for doing that.<p>I&#x27;ve been publishing print and ebooks since 2015, and I can attest to the fact the Word to PDF X-1&#x2F;a to epub&#x2F;kindle pipeline is painful. Making minor edits after publication is also painful, as the author notes, and can be error prone if you fail to make identical changes to all formats.<p>The problem was bad enough that I built by own markdown to HTML to PDF&#x2F;X-1a processor using Python, WeasyPrint, and ghostscript. This also allows me to use git for version control, and I can make formatting changes using vanilla CSS. My tools are currently too crude for the average non-tech writer to use, but they save me hours every time I use them.<p>For any of you hackers out there looking for an untapped market, try making a user-friendly tool that converts Word, PDF and&#x2F;or similar formats to the print-ready PDF&#x2F;X-1a, PDF&#x2F;X-3 and PDF&#x2F;X-4 formats. At the moment, all the existing tools are proprietary and expensive, and many are difficult to use. This won&#x27;t be a big money maker, but it will certainly be welcome by many indie authors.",
        "created_at": 1779821721,
        "reply_count": 0
      },
      {
        "id": 48284934,
        "raw": {
          "by": "HanClinto",
          "id": 48284934,
          "text": "Setting up good book publishing pipelines with version control + CI&#x2F;CD might sounds simple, but I don&#x27;t think it&#x27;s trivial.<p>One of the best examples of this that I&#x27;ve ever seen is The Sourdough Framework [0] -- really impressed with the way that versioning and publishing is integrated in that book.<p>And yes -- I know it sounds like yet another Javascript library -- but it&#x27;s actually a book about sourdough bread making. It&#x27;s been discussed here several times before, but this one from 2023 [1] may have been the most popular (103 comments)<p>[0] - <a href=\"https:&#x2F;&#x2F;github.com&#x2F;hendricius&#x2F;the-sourdough-framework\" rel=\"nofollow\">https:&#x2F;&#x2F;github.com&#x2F;hendricius&#x2F;the-sourdough-framework</a>\n[1] - <a href=\"https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=35961590\">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=35961590</a>",
          "time": 1779824438,
          "type": "comment",
          "parent": 48238703
        },
        "body": "Setting up good book publishing pipelines with version control + CI/CD might sounds simple, but I don't think it's trivial. One of the best examples of this that I've ever seen is The Sourdough Framework [0] -- really impressed with the way that versioning and publishing is integrated in that book. And yes -- I know it sounds like yet another Javascript library -- but it's actually a book about sourdough bread making. It's been discussed here several times before, but this one from 2023 [1] may have been the most popular (103 comments) [0] - https://github.com/hendricius/the-sourdough-framework [1] - https://news.ycombinator.com/item?id=35961590",
        "is_op": false,
        "author": "HanClinto",
        "raw_body": "Setting up good book publishing pipelines with version control + CI&#x2F;CD might sounds simple, but I don&#x27;t think it&#x27;s trivial.<p>One of the best examples of this that I&#x27;ve ever seen is The Sourdough Framework [0] -- really impressed with the way that versioning and publishing is integrated in that book.<p>And yes -- I know it sounds like yet another Javascript library -- but it&#x27;s actually a book about sourdough bread making. It&#x27;s been discussed here several times before, but this one from 2023 [1] may have been the most popular (103 comments)<p>[0] - <a href=\"https:&#x2F;&#x2F;github.com&#x2F;hendricius&#x2F;the-sourdough-framework\" rel=\"nofollow\">https:&#x2F;&#x2F;github.com&#x2F;hendricius&#x2F;the-sourdough-framework</a>\n[1] - <a href=\"https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=35961590\">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=35961590</a>",
        "created_at": 1779824438,
        "reply_count": 0
      },
      {
        "id": 48284267,
        "raw": {
          "by": "helterskelter",
          "id": 48284267,
          "kids": [
            48284766
          ],
          "text": "My only problem using git and a text editor is deciding whether I want hard or soft wraps. Vim handles hard wraps better IMO and you can change the git diff engine to something like difft, which makes it much more bearable than the default for hard wrap prose.<p>But softwrap definitely has its advantages: no hard line breaks makes copying the text into other mediums easier, git diffs show only which paragraphs you edited and not a bunch of line diff noise no matter which engine you use. Only problem is it breaks my yy, dd, cc muscle memory, as AFAIK you can&#x27;t force those to work on virtual (vs logical) lines.",
          "time": 1779821907,
          "type": "comment",
          "parent": 48238703
        },
        "body": "My only problem using git and a text editor is deciding whether I want hard or soft wraps. Vim handles hard wraps better IMO and you can change the git diff engine to something like difft, which makes it much more bearable than the default for hard wrap prose. But softwrap definitely has its advantages: no hard line breaks makes copying the text into other mediums easier, git diffs show only which paragraphs you edited and not a bunch of line diff noise no matter which engine you use. Only problem is it breaks my yy, dd, cc muscle memory, as AFAIK you can't force those to work on virtual (vs logical) lines.",
        "is_op": false,
        "author": "helterskelter",
        "raw_body": "My only problem using git and a text editor is deciding whether I want hard or soft wraps. Vim handles hard wraps better IMO and you can change the git diff engine to something like difft, which makes it much more bearable than the default for hard wrap prose.<p>But softwrap definitely has its advantages: no hard line breaks makes copying the text into other mediums easier, git diffs show only which paragraphs you edited and not a bunch of line diff noise no matter which engine you use. Only problem is it breaks my yy, dd, cc muscle memory, as AFAIK you can&#x27;t force those to work on virtual (vs logical) lines.",
        "created_at": 1779821907,
        "reply_count": 1
      }
    ],
    "presentation_fields": {
      "title": "I Bypassed Adobe and Microsoft to Build a Git-Tracked Book Production Pipeline",
      "tagline": "www.djspeckhals.com",
      "website_url": "https://www.djspeckhals.com/posts/2026-05-22-how-i-bypassed-adobe-and-microsoft-to-build-a-git-tracked-book-production-pipeline/",
      "canonical_url": "https://news.ycombinator.com/item?id=48238703"
    },
    "external_url_hostname": "www.djspeckhals.com",
    "selected_comments_raw": [
      {
        "by": "Exoristos",
        "id": 48284505,
        "kids": [
          48285590,
          48285255,
          48286538,
          48285129
        ],
        "text": "As someone who worked for years in commercial print, before most manufacturing moved overseas, I recall the workflows the article discusses as being more automate-able than the author seems to understand. For example, &quot;Making the slightest change became a chore. [1.] Update the &#x27;master&#x27; DOCX. [2.] Update the InDesign file ...&quot; --the appropriate way to use an external document as master in InDesign is to use the Place command, which autoupdates text changes as they are made in Word. As another example, InDesign supports multiple formats of EPUB by direct export. I also question the author&#x27;s familiarity with common LaTeX workflows. &quot;&#x27;Why didn’t you just author it in LaTeX? ...&#x27; you might ask. [B]ut I prefer writing novels in a word processor, not a text editor.&quot; And, &quot;How do I convert an ODT file to TeX?&quot; Word processors offer exports of all kinds, including to plain text, and the purpose of a TeX editor is, like InDesign, to typeset text that is often written elsewhere. Capturing the styling from the word processor seems antithetical to the desire for an advanced typesetting tool.<p>Overall, as a technical writeup I enjoyed the article; however, I would caution that the author seems to approach publishing from an amateur perspective.",
        "time": 1779822826,
        "type": "comment",
        "parent": 48238703
      },
      {
        "by": "TeaVMFan",
        "id": 48286203,
        "text": "I have a related pipeline that is based on HTML, EPublish, and Calibre:<p><a href=\"https:&#x2F;&#x2F;frequal.com&#x2F;forwriters&#x2F;\" rel=\"nofollow\">https:&#x2F;&#x2F;frequal.com&#x2F;forwriters&#x2F;</a><p>I used it for a recent novel: <a href=\"https:&#x2F;&#x2F;www.amazon.com&#x2F;dp&#x2F;B0GYCZJVGX\" rel=\"nofollow\">https:&#x2F;&#x2F;www.amazon.com&#x2F;dp&#x2F;B0GYCZJVGX</a>",
        "time": 1779830806,
        "type": "comment",
        "parent": 48238703
      },
      {
        "by": "diamondap",
        "id": 48284209,
        "text": "Kudos to you for doing that.<p>I&#x27;ve been publishing print and ebooks since 2015, and I can attest to the fact the Word to PDF X-1&#x2F;a to epub&#x2F;kindle pipeline is painful. Making minor edits after publication is also painful, as the author notes, and can be error prone if you fail to make identical changes to all formats.<p>The problem was bad enough that I built by own markdown to HTML to PDF&#x2F;X-1a processor using Python, WeasyPrint, and ghostscript. This also allows me to use git for version control, and I can make formatting changes using vanilla CSS. My tools are currently too crude for the average non-tech writer to use, but they save me hours every time I use them.<p>For any of you hackers out there looking for an untapped market, try making a user-friendly tool that converts Word, PDF and&#x2F;or similar formats to the print-ready PDF&#x2F;X-1a, PDF&#x2F;X-3 and PDF&#x2F;X-4 formats. At the moment, all the existing tools are proprietary and expensive, and many are difficult to use. This won&#x27;t be a big money maker, but it will certainly be welcome by many indie authors.",
        "time": 1779821721,
        "type": "comment",
        "parent": 48238703
      },
      {
        "by": "HanClinto",
        "id": 48284934,
        "text": "Setting up good book publishing pipelines with version control + CI&#x2F;CD might sounds simple, but I don&#x27;t think it&#x27;s trivial.<p>One of the best examples of this that I&#x27;ve ever seen is The Sourdough Framework [0] -- really impressed with the way that versioning and publishing is integrated in that book.<p>And yes -- I know it sounds like yet another Javascript library -- but it&#x27;s actually a book about sourdough bread making. It&#x27;s been discussed here several times before, but this one from 2023 [1] may have been the most popular (103 comments)<p>[0] - <a href=\"https:&#x2F;&#x2F;github.com&#x2F;hendricius&#x2F;the-sourdough-framework\" rel=\"nofollow\">https:&#x2F;&#x2F;github.com&#x2F;hendricius&#x2F;the-sourdough-framework</a>\n[1] - <a href=\"https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=35961590\">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=35961590</a>",
        "time": 1779824438,
        "type": "comment",
        "parent": 48238703
      },
      {
        "by": "helterskelter",
        "id": 48284267,
        "kids": [
          48284766
        ],
        "text": "My only problem using git and a text editor is deciding whether I want hard or soft wraps. Vim handles hard wraps better IMO and you can change the git diff engine to something like difft, which makes it much more bearable than the default for hard wrap prose.<p>But softwrap definitely has its advantages: no hard line breaks makes copying the text into other mediums easier, git diffs show only which paragraphs you edited and not a bunch of line diff noise no matter which engine you use. Only problem is it breaks my yy, dd, cc muscle memory, as AFAIK you can&#x27;t force those to work on virtual (vs logical) lines.",
        "time": 1779821907,
        "type": "comment",
        "parent": 48238703
      }
    ]
  },
  "selection_meta": {
    "discussion_depth": "top_comments_v1",
    "external_article": {
      "status": "ok",
      "final_url": "https://www.djspeckhals.com/posts/2026-05-22-how-i-bypassed-adobe-and-microsoft-to-build-a-git-tracked-book-production-pipeline/",
      "status_code": 200,
      "content_type": "text/html; charset=utf-8",
      "failure_reason": null
    },
    "snapshot_version": "hn_story_v3",
    "selected_comments_count": 5,
    "external_article_resolved": true,
    "text_normalization_applied": false
  },
  "created_at": "2026-05-26T22:01:17.342Z",
  "updated_at": "2026-05-26T22:01:17.342Z"
}