Я использую HTTPoison
для получения веб-сайта руководства по эликсиру, а затем анализирую его с помощью Floki
для создания преобразователя HTML 2 Jupyter Notebook (с Markdown для описания). Я должен поставить `обратную галочку. \u0060
для подсветки кода, которая работает до сих пор. У меня есть несколько мест, где я использую интерполяцию строк "#{Floki.text(childs_nodes)}"
, а в других местах Enum.join ""
для обработки и преобразования из HTML в Markdown.
Преобразованный результат сохраняется на карте в формате ноутбука Jupyter. Когда я вызываю Poison.encode notebook
, я получаю сообщение об ошибке, так как кодовые точки исчезли. Я пробовал разные вещи, но пока не знаю, в чем проблема.
Любые подсказки, что я делаю неправильно при обработке текста? Это исключение:
** (Poison.EncodeError) unable to encode value: {:source, ["Elixir also provides `Port`, `Reference` and `PID` as data types (usually used in process communication), and we will take a quick look at them when talking about processes. For now, let’s take a look at some of the basic operators that go with our basic types."]}
lib/poison/encoder.ex:377: Poison.Encoder.Any.encode/2
lib/poison/encoder.ex:255: anonymous fn/3 in Poison.Encoder.List.encode/3
lib/poison/encoder.ex:256: Poison.Encoder.List."-encode/3-lists^foldr/2-1-"/3
lib/poison/encoder.ex:256: Poison.Encoder.List.encode/3
lib/poison.ex:41: Poison.encode!/2
(guide2nb) lib/cli.ex:27: CLI.process/1
(elixir) lib/kernel/cli.ex:76: anonymous fn/3 in Kernel.CLI.exec_fun/2