Packages
floki
0.20.4
0.38.4
0.38.3
0.38.2
0.38.1
0.38.0
0.37.1
0.37.0
0.36.3
0.36.2
0.36.1
0.36.0
0.35.4
0.35.3
0.35.2
0.35.1
0.35.0
0.34.3
0.34.2
0.34.1
0.34.0
0.33.1
0.33.0
0.32.1
0.32.0
0.31.0
0.30.1
0.30.0
0.29.0
0.28.0
0.27.0
0.26.0
0.25.0
0.24.0
0.23.1
0.23.0
0.22.0
0.21.0
0.20.4
0.20.3
0.20.2
0.20.1
0.20.0
0.19.3
0.19.2
0.19.1
0.19.0
0.18.1
0.18.0
0.17.2
0.17.1
0.17.0
0.16.0
0.15.0
0.14.0
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.0
0.10.1
0.10.0
0.9.0
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.1
0.6.0
0.5.0
0.4.1
0.4.0
0.3.3
0.3.2
0.3.1
0.3.0
0.2.1
0.2.0
0.1.1
0.1.0
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
Floki is a simple HTML parser that enables search for nodes using CSS selectors.
Current section
86 Versions
Jump to
Current section
86 Versions
Compare versions
4
files changed
+15
additions
-8
deletions
| @@ -1,12 +1,12 @@ | |
| 1 | - # Floki |
| 2 | - |
| 3 1 | [](https://travis-ci.org/philss/floki) |
| 4 2 | [](https://hex.pm/packages/floki) |
| 5 3 | [](https://hex.pm/packages/floki) |
| 6 4 | [](https://inch-ci.org/github/philss/floki) |
| 7 5 | [](https://ebertapp.io/github/philss/floki) |
| 8 6 | |
| 9 | - Floki is a simple HTML parser that enables search for nodes using CSS selectors. |
| 7 | + <img src="priv/images/floki-logo-with-type.svg" width="500" alt="Floki logo"> |
| 8 | + |
| 9 | + **Floki is a simple HTML parser that enables search for nodes using CSS selectors**. |
| 10 10 | |
| 11 11 | [Check the documentation](https://hexdocs.pm/floki). |
| 12 12 | |
| @@ -216,6 +216,10 @@ There are also some selectors based on non-standard specifications. They are: | |
| 216 216 | |----------------------|-----------------------------------------------------| |
| 217 217 | | E:fl-contains('foo') | an E element that contains "foo" inside a text node | |
| 218 218 | |
| 219 | + ## Special thanks |
| 220 | + |
| 221 | + * [@arasatasaygin](https://github.com/arasatasaygin) for Floki's logo from the [Open Logos project](http://openlogos.org/). |
| 222 | + |
| 219 223 | ## License |
| 220 224 | |
| 221 225 | Floki is under MIT license. Check the `LICENSE` file for more details. |
| @@ -23,7 +23,6 @@ | |
| 23 23 | <<"LICENSE">>,<<"CODE_OF_CONDUCT.md">>,<<"CONTRIBUTING.md">>]}. |
| 24 24 | {<<"licenses">>,[<<"MIT">>]}. |
| 25 25 | {<<"links">>,[{<<"GitHub">>,<<"https://github.com/philss/floki">>}]}. |
| 26 | - {<<"maintainers">>,[<<"Philip Sampaio Silva">>]}. |
| 27 26 | {<<"name">>,<<"floki">>}. |
| 28 27 | {<<"requirements">>, |
| 29 28 | [[{<<"app">>,<<"html_entities">>}, |
| @@ -36,4 +35,4 @@ | |
| 36 35 | {<<"optional">>,false}, |
| 37 36 | {<<"repository">>,<<"hexpm">>}, |
| 38 37 | {<<"requirement">>,<<"~> 2.15">>}]]}. |
| 39 | - {<<"version">>,<<"0.20.3">>}. |
| 38 | + {<<"version">>,<<"0.20.4">>}. |
| @@ -83,7 +83,11 @@ defmodule Floki.RawHTML do | |
| 83 83 | defp close_end_tag(type, []) when type in @self_closing_tags, do: "" |
| 84 84 | defp close_end_tag(type, _), do: "</#{type}>" |
| 85 85 | |
| 86 | - defp build_attrs({attr, value}, attrs) do |
| 86 | + defp build_attrs({attr, iodata}, attrs) when is_list(iodata) do |
| 87 | + build_attrs({attr, IO.iodata_to_binary(iodata)}, attrs) |
| 88 | + end |
| 89 | + |
| 90 | + defp build_attrs({attr, <<value::binary>>}, attrs) do |
| 87 91 | if String.contains?(value, "\"") do |
| 88 92 | ~s(#{attrs} #{attr}='#{value}') |
| 89 93 | else |
| @@ -91,7 +95,7 @@ defmodule Floki.RawHTML do | |
| 91 95 | end |
| 92 96 | end |
| 93 97 | |
| 94 | - defp build_attrs(attr, attrs), do: "#{attrs} #{attr}" |
| 98 | + defp build_attrs(<<attr::binary>>, attrs), do: "#{attrs} #{attr}" |
| 95 99 | |
| 96 100 | defp tag_for(type, attrs, children, encoder) do |
| 97 101 | encoder = |
| @@ -2,7 +2,7 @@ defmodule Floki.Mixfile do | |
| 2 2 | use Mix.Project |
| 3 3 | |
| 4 4 | @description "Floki is a simple HTML parser that enables search for nodes using CSS selectors." |
| 5 | - @version "0.20.3" |
| 5 | + @version "0.20.4" |
| 6 6 | |
| 7 7 | def project do |
| 8 8 | [ |