profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/DirtyF/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Frank Taillandier DirtyF @forestryio Toulouse, France https://frank.taillandier.me Shaping Delightful Products

chartio/dataschool 113

A free community driven school for data hosted at dataschool.com

chrisdmacrae/parceleventy 41

An @11ty/eleventy starter using parcel-bundler for production bundling

DirtyF/frank.taillandier.me 5

Personal blog built with Jekyll

DirtyF/autotrack 3

Suivi automatique et amélioration d'analytics.js pour les interactions utilisateurs courantes

DirtyF/brevifolia-next-frank 1

A simple blog starter using Next.js and Forestry as a Git-backed CMS.

DirtyF/acceptance 0

Daily acceptance tests for Jekyll. Builds 10 complex websites.

DirtyF/agency-nextjs 0

Jamstack site created with Stackbit

DirtyF/auto-reply 0

:loop: Handle GitHub webhooks and manage issues on your repositories. Currently runs @jekyllbot.

push eventjamstatic/jamstatic-fr

Arnaud Ligny

commit sha f079fbe14c8012c44d1161213de51ba4c722241b

Update from Forestry.io Arnaud Ligny updated content/post/hebergement-statique-en-france.md

view details

push time in a month

push eventjamstatic/jamstatic-fr

Arnaud Ligny

commit sha 7344f3ec10208b123b54b585895144c88a3f4427

Update from Forestry.io Arnaud Ligny updated content/post/jamstack-legere-et-performante/index.md

view details

push time in a month

push eventjamstatic/jamstatic-fr

Arnaud Ligny

commit sha 111edb5b71b5c76122ae272aab0537f3e97e412a

Update from Forestry.io Arnaud Ligny updated content/post/hebergement-statique-en-france.md

view details

push time in a month

push eventforestryio/forestry.io

Frank Taillandier

commit sha 4b5115e1e0484dd45b3a348179f4623bae0d50a3

Update from Forestry.io Frank Taillandier updated hugo/content/blog/versioning-large-files-with-git-lfs.md

view details

push time in 2 months

push eventDirtyF/just-markdown

Frank Taillandier

commit sha 154c5c9c9f064fd37cf3faf0632666c161cb21bc

Update from Forestry.io - Updated Forestry configuration

view details

push time in 2 months

push eventDirtyF/next-forestry-starter

dependabot[bot]

commit sha 2c3acd7105a17b126eec3a03fac0aa17391fe32f

Bump tar from 4.4.15 to 4.4.19 Bumps [tar](https://github.com/npm/node-tar) from 4.4.15 to 4.4.19. - [Release notes](https://github.com/npm/node-tar/releases) - [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md) - [Commits](https://github.com/npm/node-tar/compare/v4.4.15...v4.4.19) --- updated-dependencies: - dependency-name: tar dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>

view details

Frank Taillandier

commit sha 10a63120cc2d4687aac555d90f78a4fcc56a921b

Merge pull request #16 from DirtyF/dependabot/npm_and_yarn/tar-4.4.19 Bump tar from 4.4.15 to 4.4.19

view details

push time in 2 months

PR merged DirtyF/next-forestry-starter

Bump tar from 4.4.15 to 4.4.19 dependencies

Bumps tar from 4.4.15 to 4.4.19. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/npm/node-tar/commit/9a6faa017ca90538840f3ae2ccdb4550ac3f4dcf"><code>9a6faa0</code></a> 4.4.19</li> <li><a href="https://github.com/npm/node-tar/commit/70ef812593184cc54ea1bc74c5dae2d22995002d"><code>70ef812</code></a> drop dirCache for symlink on all platforms</li> <li><a href="https://github.com/npm/node-tar/commit/3e35515c09da615ac268254bed85fe43ee71e2f0"><code>3e35515</code></a> 4.4.18</li> <li><a href="https://github.com/npm/node-tar/commit/52b09e309bcae0c741a7eb79a17ef36e7828b946"><code>52b09e3</code></a> fix: prevent path escape using drive-relative paths</li> <li><a href="https://github.com/npm/node-tar/commit/bb93ba243746f705092905da1955ac3b0509ba1e"><code>bb93ba2</code></a> fix: reserve paths properly for unicode, windows</li> <li><a href="https://github.com/npm/node-tar/commit/2f1bca027286c23e110b8dfc7efc10756fa3db5a"><code>2f1bca0</code></a> fix: prune dirCache properly for unicode, windows</li> <li><a href="https://github.com/npm/node-tar/commit/9bf70a8cf725c3af5fe2270f1e5d2e06d1559b93"><code>9bf70a8</code></a> 4.4.17</li> <li><a href="https://github.com/npm/node-tar/commit/6aafff0a8621ba9509b63654bde28762be373d58"><code>6aafff0</code></a> fix: skip extract if linkpath is stripped entirely</li> <li><a href="https://github.com/npm/node-tar/commit/5c5059a69c2aaaedfe4e9766e102ae9fb79e8255"><code>5c5059a</code></a> fix: reserve paths case-insensitively</li> <li><a href="https://github.com/npm/node-tar/commit/fd6accba697070560f301604b8f5f7e2995a2a8b"><code>fd6accb</code></a> 4.4.16</li> <li>Additional commits viewable in <a href="https://github.com/npm/node-tar/compare/v4.4.15...v4.4.19">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the Security Alerts page.

</details>

+17 -17

0 comment

1 changed file

dependabot[bot]

pr closed time in 2 months

PullRequestReviewEvent
PullRequestReviewEvent

issue commenttinacms/tinacms

Can't upload file from media manager in tina v0.55.0

Hi, what media store are you using here?

krisnantobi

comment created time in 2 months

issue commenttinacms/tinacms.org

Quick start guide doesn't mention Vercel deployment

Related: adding a path to start locally directly from https://tina.io/docs/ would be useful.

jamespohalloran

comment created time in 2 months

PullRequestReviewEvent

delete branch DirtyF/docusaurus-forestry-starter

delete branch : dependabot/npm_and_yarn/tar-6.1.11

delete time in 2 months

push eventDirtyF/docusaurus-forestry-starter

dependabot[bot]

commit sha 3c6803839e9ab1bbddb5f53f61f0bb20271bf500

chore(deps): bump tar from 6.1.4 to 6.1.11 Bumps [tar](https://github.com/npm/node-tar) from 6.1.4 to 6.1.11. - [Release notes](https://github.com/npm/node-tar/releases) - [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md) - [Commits](https://github.com/npm/node-tar/compare/v6.1.4...v6.1.11) --- updated-dependencies: - dependency-name: tar dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>

view details

Frank Taillandier

commit sha bcf1dc3c93e0903af6765e070c8396181da5c720

Merge pull request #22 from DirtyF/dependabot/npm_and_yarn/tar-6.1.11 chore(deps): bump tar from 6.1.4 to 6.1.11

view details

push time in 2 months

PR merged DirtyF/docusaurus-forestry-starter

chore(deps): bump tar from 6.1.4 to 6.1.11 dependencies

Bumps tar from 6.1.4 to 6.1.11. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/npm/node-tar/commit/e573aeea19d4d650908b7f6bf0a1ad8dce9f1736"><code>e573aee</code></a> 6.1.11</li> <li><a href="https://github.com/npm/node-tar/commit/edb8e9a3fa5869cfb935479a262f6f61b0a2ec57"><code>edb8e9a</code></a> fix: perf regression on hot string munging path</li> <li><a href="https://github.com/npm/node-tar/commit/a9d9b05fc974425089922bf66e8e7751ea8bfbbc"><code>a9d9b05</code></a> chore(test): Avoid spurious failures packing node_modules/.cache</li> <li><a href="https://github.com/npm/node-tar/commit/24b8bdadf37118182496ecf81fa7a872196fb38b"><code>24b8bda</code></a> fix(test): use posix path for testing path reservations</li> <li><a href="https://github.com/npm/node-tar/commit/e5a223c6b293f1cb2ebb2dd97668f787e8983ca4"><code>e5a223c</code></a> fix(test): make unpack test pass on case-sensitive fs</li> <li><a href="https://github.com/npm/node-tar/commit/188baddc1d0e6ef5140c7a788f03fc2a6c3df2ea"><code>188badd</code></a> 6.1.10</li> <li><a href="https://github.com/npm/node-tar/commit/23312ce7db8a12c78d0fba96d7664a01619266a3"><code>23312ce</code></a> drop dirCache for symlink on all platforms</li> <li><a href="https://github.com/npm/node-tar/commit/4f1f4a21fca64f3089da0e83ceea775c66b55052"><code>4f1f4a2</code></a> 6.1.9</li> <li><a href="https://github.com/npm/node-tar/commit/875a37e3ec031186fc6599f6807341f56c584598"><code>875a37e</code></a> fix: prevent path escape using drive-relative paths</li> <li><a href="https://github.com/npm/node-tar/commit/b6162c7fafe797f856564ef37f4b82747f051455"><code>b6162c7</code></a> fix: reserve paths properly for unicode, windows</li> <li>Additional commits viewable in <a href="https://github.com/npm/node-tar/compare/v6.1.4...v6.1.11">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the Security Alerts page.

</details>

+3 -3

0 comment

1 changed file

dependabot[bot]

pr closed time in 2 months

push eventDirtyF/ubuild-jekyll

Frank Taillandier

commit sha af29b30257e7476ef78dea9959f157ad2ea5f975

Update from Forestry.io - Updated Forestry configuration Frank Taillandier updated _posts/2021-08-31-new-draft.md Frank Taillandier deleted _drafts/new-draft.md Frank Taillandier created _drafts/lea-tortay-eleventy-fan.md Frank Taillandier updated _posts/2021-08-31-lea-tortay-eleventy-fan.md Frank Taillandier deleted _drafts/lea-tortay-eleventy-fan.md

view details

push time in 2 months

push eventDirtyF/ubuild-jekyll

Frank Taillandier

commit sha 63e27ea018931ec3415f7bc24fa5c7098b2f25a2

Update from Forestry.io - Updated Forestry configuration

view details

push time in 2 months

Pull request review commenttinacms/tinacms

more fields have been exported

+---+'@tinacms/toolkit': minor+'react-tinacms-editor': minor+---++More fields have been exported so that they can be used in field plugins.
Export Blocks, Group List, List, HTML and Markdown fields so that they can be used in field plugins.
logan-anderson

comment created time in 2 months

PullRequestReviewEvent

push eventtinacms/tinacms.org

Frank Taillandier

commit sha 657c1111001d21cf968188e807787437ee01a20e

Apply suggestions from code review

view details

push time in 2 months

Pull request review commenttinacms/tinacms.org

Feat/custom fields TinaCMS docs

 For a `string` type you'll get the [`text` field](/docs/fields/text/) by default } ``` -As long as the given value is registered with the TinaCMS instance, you'll be able to specify it here. Read more about how to configure the [core TinaCMS Toolkit fields](/docs/fields/).+The `component` property can be any [registered field](http://localhost:3000/docs/advanced-features/custom-fields/#2-register-a-field-plugin). Below is a list of default fields. 
The `component` property can be any [registered field](/docs/advanced-features/custom-fields/#2-register-a-field-plugin). Below is a list of default fields. 
logan-anderson

comment created time in 2 months

PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commenttinacms/tinacms.org

Feat/custom fields TinaCMS docs

+---+title: Custom Fields+prev: Null+next: null+---++Custom fields are made possible by the [plugin system](/docs/plugins/) in TinaCMS. Custom fields are a way to either add [custom logic to existing fields](#adding-custom-logic) or provide an [entirely new field component](#adding-a-custom-field)++## Adding Custom Logic++Adding custom logic is easy and can be done in two simple steps; registering a field plugin and then using the field plugin in your schema.++### 1. Create a Field Plugin++**Interface**+```ts+export interface FieldPlugin<ExtraFieldProps = {}, InputProps = {}> {+  __type: 'field'+  name: string+  Component: React.FC<InputFieldType<ExtraFieldProps, InputProps>>+  type?: string+  validate?(+    value: any,+    allValues: any,+    meta: any,+    field: Field+  ): string | object | undefined+  parse?: (value: any, name: string, field: Field) => any+  format?: (value: any, name: string, field: Field) => any+  defaultValue?: any+}++```++Where component can be a [custom component](#adding-a-custom-field) or a built in component. [See here](#list-of-field-components) for a full list of custom components.++It is considered a good practiced to have your plugins in a separate file, this allows the plugin to be lazy loaded only when the CMS is enabled. This way it does not effect your production bundle. ++```tsx+// ./plugins.tsx+import { TextField } from 'tinacms'+ +export const validationPlugin = {+    Component: TextField,+    name: "text-email-validation",+    validate: (email, allValues, meta, field)=> {+       let isValidEmail = /.*@.*\..*/.test(email)+       if (!isValidEmail) return 'Invalid email address'+    },+}+```++### 2. Register a Field Plugin++The plugin can then be registered in [the CMS callback](https://tina.io/docs/tinacms-context/#tinacms) in the `<Tina>` wrapper component.++```tsx+cmsCallback={cms => {+    import('../plugins.tsx').then(({validationPlugin})=>{+        cms.plugins.add(validationPlugin)+    })+}}+```++### 3. Use Field in  `.tina/schema.ts`++Now in the [schema.ts file](https://tina.io/docs/schema/) this field can be used for any field. It can be added to the [`ui` property](https://tina.io/docs/schema/#the-ui-property)
Now in the [schema.ts file](/docs/schema/) this field can be used for any field. It can be added to the [`ui` property](/docs/schema/#the-ui-property)
logan-anderson

comment created time in 2 months

PullRequestReviewEvent

Pull request review commenttinacms/tinacms.org

Feat/custom fields TinaCMS docs

+---+title: Custom Fields+prev: Null+next: null+---++Custom fields are made possible by the [plugin system](/docs/plugins/) in TinaCMS. Custom fields are a way to either add [custom logic to existing fields](#adding-custom-logic) or provide an [entirely new field component](#adding-a-custom-field)++## Adding Custom Logic++Adding custom logic is easy and can be done in two simple steps; registering a field plugin and then using the field plugin in your schema.++### 1. Create a Field Plugin++**Interface**+```ts+export interface FieldPlugin<ExtraFieldProps = {}, InputProps = {}> {+  __type: 'field'+  name: string+  Component: React.FC<InputFieldType<ExtraFieldProps, InputProps>>+  type?: string+  validate?(+    value: any,+    allValues: any,+    meta: any,+    field: Field+  ): string | object | undefined+  parse?: (value: any, name: string, field: Field) => any+  format?: (value: any, name: string, field: Field) => any+  defaultValue?: any+}++```++Where component can be a [custom component](#adding-a-custom-field) or a built in component. [See here](#list-of-field-components) for a full list of custom components.++It is considered a good practiced to have your plugins in a separate file, this allows the plugin to be lazy loaded only when the CMS is enabled. This way it does not effect your production bundle. ++```tsx+// ./plugins.tsx+import { TextField } from 'tinacms'+ +export const validationPlugin = {+    Component: TextField,+    name: "text-email-validation",+    validate: (email, allValues, meta, field)=> {+       let isValidEmail = /.*@.*\..*/.test(email)+       if (!isValidEmail) return 'Invalid email address'+    },+}+```++### 2. Register a Field Plugin++The plugin can then be registered in [the CMS callback](https://tina.io/docs/tinacms-context/#tinacms) in the `<Tina>` wrapper component.
The plugin can then be registered in [the CMS callback](/docs/tinacms-context/#tinacms) in the `<Tina>` wrapper component.
logan-anderson

comment created time in 2 months

Pull request review commenttinacms/tinacms.org

Feat/custom fields TinaCMS docs

+---+title: Custom Fields+prev: Null+next: null+---++Custom fields are made possible by the [plugin system](/docs/plugins/) in TinaCMS. Custom fields are a way to either add [custom logic to existing fields](#adding-custom-logic) or provide an [entirely new field component](#adding-a-custom-field)++## Adding Custom Logic++Adding custom logic is easy and can be done in two simple steps; registering a field plugin and then using the field plugin in your schema.++### 1. Create a Field Plugin++**Interface**+```ts+export interface FieldPlugin<ExtraFieldProps = {}, InputProps = {}> {+  __type: 'field'+  name: string+  Component: React.FC<InputFieldType<ExtraFieldProps, InputProps>>+  type?: string+  validate?(+    value: any,+    allValues: any,+    meta: any,+    field: Field+  ): string | object | undefined+  parse?: (value: any, name: string, field: Field) => any+  format?: (value: any, name: string, field: Field) => any+  defaultValue?: any+}++```++Where component can be a [custom component](#adding-a-custom-field) or a built in component. [See here](#list-of-field-components) for a full list of custom components.++It is considered a good practiced to have your plugins in a separate file, this allows the plugin to be lazy loaded only when the CMS is enabled. This way it does not effect your production bundle. ++```tsx+// ./plugins.tsx+import { TextField } from 'tinacms'+ +export const validationPlugin = {+    Component: TextField,+    name: "text-email-validation",+    validate: (email, allValues, meta, field)=> {+       let isValidEmail = /.*@.*\..*/.test(email)+       if (!isValidEmail) return 'Invalid email address'+    },+}+```++### 2. Register a Field Plugin++The plugin can then be registered in [the CMS callback](https://tina.io/docs/tinacms-context/#tinacms) in the `<Tina>` wrapper component.

Can it be registered elsewhere?

logan-anderson

comment created time in 2 months

PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commenttinacms/tinacms.org

Feat/custom fields TinaCMS docs

+---+title: Custom Fields+prev: Null+next: null+---++Custom fields are made possible by the [plugin system](/docs/plugins/) in TinaCMS. Custom fields are a way to either add [custom logic to existing fields](#adding-custom-logic) or provide an [entirely new field component](#adding-a-custom-field)++## Adding Custom Logic++Adding custom logic is easy and can be done in two simple steps; registering a field plugin and then using the field plugin in your schema.++### 1. Create a Field Plugin++**Interface**+```ts+export interface FieldPlugin<ExtraFieldProps = {}, InputProps = {}> {+  __type: 'field'+  name: string+  Component: React.FC<InputFieldType<ExtraFieldProps, InputProps>>+  type?: string+  validate?(+    value: any,+    allValues: any,+    meta: any,+    field: Field+  ): string | object | undefined+  parse?: (value: any, name: string, field: Field) => any+  format?: (value: any, name: string, field: Field) => any+  defaultValue?: any+}++```++Where component can be a [custom component](#adding-a-custom-field) or a built in component. [See here](#list-of-field-components) for a full list of custom components.++It is considered a good practiced to have your plugins in a separate file, this allows the plugin to be lazy loaded only when the CMS is enabled. This way it does not effect your production bundle. 
It is considered a good practice to have your plugins in a separate file, this allows the plugin to be lazy-loaded only when the CMS is enabled. This way it does not affect your production bundle. 
logan-anderson

comment created time in 2 months