7.1.0 • Published 2 years ago

@thetimes/methode-parser v7.1.0

Weekly downloads
206
License
MIT
Repository
-
Last release
2 years ago

The purpose of this package is to convert data into ASTs.

This function converts arrays of elements of the form,

[
  {
    type: "paragraph",
    data: {
      attributes: {},
      text:
      "I love cheese. I have always loved cheese. Cheese tastes a lot better than dirty socks."
    }
  },
  {
    type: "paragraph",
    data: {
      attributes: {},
      text: "I had a <i>dream</i> <b>today</b>"
    }
  },
  {
    type: "image",
    data: {
      caption: "caption",
      credits: "credits",
      display: "primary",
      height: "200",
      horizontalOffset: "1",
      imageId: "id.jpg",
      ratio: "3:2",
      verticalOffset: "1",
      width: "200"
    }
  },
  ...
]

into fully parsed markup elements, leaving no string unparsed.

In particular, paragraphs with rich text will be turned into markup of the form,

[
  {
    "name": "paragraph",
    "children": [
      {
        "name": "text",
        "attributes": {
          "value": "Some ",
        },
        "children": []
      },
      {
        "name": "italic",
        "children": [
          {
            "name": "text",
            "attributes": {
              "value": "styled",
            },
            "children": []
          }
        ]
      },
      {
        "name": "text",
        "attributes": {
          "value": " text within ",
        },
        "children": []
      },
      {
        "name": "bold",
        "children": [
          {
            "attributes": {
              "value": "the",
            },
            "children": [],
            "name": "text",
          }
        ]
      },
      {
        "name": "text",
        "attributes": {
          "value": " paragraph",
        },
        "children": []
      }
    ]
  }
]

This function turns text containing an author name into markup elements.

Example input,

const authorSlugs = [
  "john-doe",
  "sponge-bob"
];

const authorDescription = "Sponge Bob, Jane Doe and John Doe";

authorToByline(authorDescription);

Example output,

[
  {
    "name": "author",
    "attributes": {
      "slug": "sponge-bob",
    },
    "children": [
      {
        "name": "text",
        "attributes": {
          "value": "Sponge Bob",
        },
        "children": [],
      },
    ],
  },
  {
    "name": "inline",
    "children": [
      {
        "attributes": {
          "value": ", Jane Doe and ",
        },
        "children": [],
        "name": "text",
      },
    ],
  },
  {
    "name": "author",
    "attributes": {
      "slug": "john-doe",
    },
    "children": [
      {
        "name": "text",
        "attributes": {
          "value": "John Doe",
        },
        "children": []
      }
    ]
  }
]
7.1.0

2 years ago

7.0.21

2 years ago

7.0.20

3 years ago

7.0.19

3 years ago

7.0.18

3 years ago

7.0.17

3 years ago

7.0.16

4 years ago

7.0.14

4 years ago

7.0.15

4 years ago

7.0.12

4 years ago

7.0.13

4 years ago

7.0.11

4 years ago

7.0.10

4 years ago

7.0.7

4 years ago

7.0.9

4 years ago

7.0.6

5 years ago

7.0.5

5 years ago

7.0.4

5 years ago

7.0.3

5 years ago

7.0.2

5 years ago

7.0.1

5 years ago

7.0.0

5 years ago

6.2.1

5 years ago

6.2.0

6 years ago

6.1.0

6 years ago

6.0.0

6 years ago

4.0.0

6 years ago

3.0.0

6 years ago

2.1.3

6 years ago

2.1.2

6 years ago

2.1.1

6 years ago

2.1.0

6 years ago

2.0.0

6 years ago

1.2.0

6 years ago

1.1.0

6 years ago

1.0.0

6 years ago