txt2ebook 0.1.105__py3-none-any.whl → 0.1.106__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
txt2ebook/__init__.py CHANGED
@@ -22,7 +22,7 @@ import sys
22
22
 
23
23
  logger = logging.getLogger(__name__)
24
24
 
25
- __version__ = "0.1.105"
25
+ __version__ = "0.1.106"
26
26
 
27
27
 
28
28
  def setup_logger(config: argparse.Namespace) -> None:
txt2ebook/formats/tex.py CHANGED
@@ -42,8 +42,13 @@ logger = logging.getLogger(__name__)
42
42
  class TexWriter(BaseWriter):
43
43
  """Module for writing ebook in LaTeX (tex) format."""
44
44
 
45
+ def __post_init__(self):
46
+ """Post init code."""
47
+ self.index_keywords = self.config.index_keyword + self.book.index
48
+ logger.debug("Index keywords: %s", self.index_keywords)
49
+
45
50
  def write(self) -> None:
46
- """Generate Tex files."""
51
+ """Generate TeX / PDF files."""
47
52
  new_filename = self._output_filename(".tex")
48
53
  new_filename.parent.mkdir(parents=True, exist_ok=True)
49
54
 
@@ -53,6 +58,7 @@ class TexWriter(BaseWriter):
53
58
 
54
59
  doc.packages.append(Pkg("geometry", options=["a6paper"]))
55
60
  doc.packages.append(Pkg("makeidx"))
61
+ doc.packages.append(Pkg("xcolor"))
56
62
  doc.packages.append(
57
63
  Pkg(
58
64
  "idxlayout",
@@ -123,20 +129,18 @@ class TexWriter(BaseWriter):
123
129
  filename = str(new_filename.parent / new_filename.stem)
124
130
  pdf_filename = Path(filename).with_suffix(".pdf")
125
131
  doc.generate_pdf(filename, compiler="latexmk", clean_tex=False)
132
+ logger.info("Generate PDF file: %s", pdf_filename.resolve())
126
133
 
127
134
  if self.config.open:
128
135
  self._open_file(pdf_filename)
129
136
 
130
137
  def _process_paragraph(self, paragraph) -> str:
131
138
  par = paragraph.strip()
132
- for keyword in self.config.index_keyword:
133
- par = par.replace(
134
- keyword, rf"\index{{{keyword}}}\underline{{{keyword}}}"
135
- )
136
139
 
137
- for keyword in self.book.index:
140
+ for keyword in self.index_keywords:
138
141
  par = par.replace(
139
- keyword, rf"\index{{{keyword}}}\underline{{{keyword}}}"
142
+ keyword,
143
+ rf"\color{{red}}\index{{{keyword}}}{keyword}\color{{black}}"
140
144
  )
141
145
 
142
146
  return par
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: txt2ebook
3
- Version: 0.1.105
3
+ Version: 0.1.106
4
4
  Summary: CLI tool to convert txt file to ebook format
5
5
  Home-page: https://github.com/kianmeng/txt2ebook
6
6
  License: AGPL-3.0-or-later
@@ -1,4 +1,4 @@
1
- txt2ebook/__init__.py,sha256=9SHfhlOwIc9Ln13h4bu6C8p-WUXUlbGDWs9OJramLzU,2062
1
+ txt2ebook/__init__.py,sha256=obRR4uBzKM-aDvA1i7-AFG12Efh0euhD0nTGdw0xu04,2062
2
2
  txt2ebook/__main__.py,sha256=gMLvgpqc_BL4cBqNe0vqErRF5dlJPAbvqu1zndcAHYI,850
3
3
  txt2ebook/exceptions.py,sha256=b2HDsXdqweLJbvSJEGt48nxvGkZq20SfYezSjwp77JU,842
4
4
  txt2ebook/formats/__init__.py,sha256=WhiRWGvbUjc8QZfhAIkKCg6GL8vNNlEF73meZSzYhDA,2463
@@ -12,7 +12,7 @@ txt2ebook/formats/templates/epub/__init__.py,sha256=DeIsL4WDqgTU7zCLxlCidFItvG4N
12
12
  txt2ebook/formats/templates/epub/clean.css,sha256=AnEwMckzUSKcjKsDiWtJW1oaceuklt2tyuS1VbpVK1s,462
13
13
  txt2ebook/formats/templates/epub/condense.css,sha256=Fz80ZqkPsFRmGdURduAxqMV8drD0CCUlrv41P8rUsm8,477
14
14
  txt2ebook/formats/templates/epub/noindent.css,sha256=_O5Tv90TKyyPBRdgjuNKFwtKFbdheh2V9PtDhgRUg3U,483
15
- txt2ebook/formats/tex.py,sha256=s6ShjJ206fx524-MbrYkruC5kdBP3NU29KdDIcIEPkA,5670
15
+ txt2ebook/formats/tex.py,sha256=QTbBvQxvTZWKcVSXPToM434Cqj7V1I5Eyu5rCurUCns,5853
16
16
  txt2ebook/formats/txt.py,sha256=8PkJ54r-0saZYyYEH64nYSkM-oW5LnurCbAk6d2Ue78,7536
17
17
  txt2ebook/formats/typ.py,sha256=MoARQTBMJFeOr4U0pf9JykC-FWos683hGhv-A8wh-uw,5232
18
18
  txt2ebook/helpers/__init__.py,sha256=cQmFjEsEEI0gRxDPL-284FMS5Z-iBMcu-4qe7Icf7is,1971
@@ -35,8 +35,8 @@ txt2ebook/parser.py,sha256=DbivznOgBOzlY5btTdB09D6yNGk5QXsE-gD2zc6lJyc,12188
35
35
  txt2ebook/tokenizer.py,sha256=Bm56thLiYSmRDuFiAaOH-NibzhYZQvnLo_u21KaV4Oo,9406
36
36
  txt2ebook/txt2ebook.py,sha256=qSWFaLWm1d0bz8G0JTe5554ejGUrkf89KHey6tVYEv8,13698
37
37
  txt2ebook/zh_utils.py,sha256=EgKVbwqYGaTGswQUGcOCeSfRelzwkAb9WWY9TrsX1x4,4882
38
- txt2ebook-0.1.105.dist-info/LICENSE.md,sha256=tGtFDwxWTjuR9syrJoSv1Hiffd2u8Tu8cYClfrXS_YU,31956
39
- txt2ebook-0.1.105.dist-info/METADATA,sha256=G9AFmcbA_pxtaQ51KBJkGjYrZRtS0HZOUdimwK5vQ8w,7656
40
- txt2ebook-0.1.105.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
41
- txt2ebook-0.1.105.dist-info/entry_points.txt,sha256=IQHyIIhd0MHjSSRVC1a6tMeIoLus8D06KHL_cumvEbg,83
42
- txt2ebook-0.1.105.dist-info/RECORD,,
38
+ txt2ebook-0.1.106.dist-info/LICENSE.md,sha256=tGtFDwxWTjuR9syrJoSv1Hiffd2u8Tu8cYClfrXS_YU,31956
39
+ txt2ebook-0.1.106.dist-info/METADATA,sha256=czmS8A2RwuxLu0pZWRY1CqOMC2vqihq42cKxrr8lbo0,7656
40
+ txt2ebook-0.1.106.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
41
+ txt2ebook-0.1.106.dist-info/entry_points.txt,sha256=IQHyIIhd0MHjSSRVC1a6tMeIoLus8D06KHL_cumvEbg,83
42
+ txt2ebook-0.1.106.dist-info/RECORD,,