Commit a70bb3f8 authored by Miguel Angel Reina Ortega's avatar Miguel Angel Reina Ortega
Browse files

Add replacement for superscripts and subscripts HTML tag for pandocFilter

parent 74aefcd5
Loading
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -406,6 +406,29 @@ def replaceBulletedLettersLists(progress:Progress, mdLines:list[str]) -> list[st
	progress.stop_task(_taskID)
	return _lines

def replaceSuperscriptsAndSubscripts(progress:Progress, mdLines:list[str]) -> list[str]:
	"""	Replace superscripts and subscripts with pandoc superscript and subscript extensions.
	"""
	_taskID = progress.add_task('[blue]Replacing superscripts and subscripts', total=0)
	# progress.update()

	_lines:list[str] = []
	for line in mdLines:
		# If we are in a code block, we are not in a list
		if checkInCodeBlock(line):
			_lines.append(line)
			continue

		# Replace all superscript/subscript tags in the same line.
		converted_line = line.replace('<sup>', '^').replace('</sup>', '^')
		converted_line = converted_line.replace('<sub>', '~').replace('</sub>', '~')
		_lines.append(converted_line)

	#print(f'{_lines}')
	progress.stop_task(_taskID)
	return _lines


def process(args) -> None:
	with Progress(TextColumn('{task.description}'),  TimeElapsedColumn()) as progress:
		mdLines = readMDFile(progress, args.document)
@@ -421,6 +444,7 @@ def process(args) -> None:
		# Spacing after code/table blocks is now handled in DOCX postprocessing.
		# mdLines = instertLineAfterTableOrCodeBlock(progress, mdLines)
		mdLines = replaceLineBreaks(progress, mdLines)
		mdLines = replaceSuperscriptsAndSubscripts(progress, mdLines)
		writeMDFile(progress, mdLines, args.document, args.outDirectory)