data/schema/index.yaml
niclaz 85719df1db
Extending the caption section of schema - regex to include URLs in index.yaml
Following up on this error:
https://github.com/web3privacy/data/actions/runs/10602350927/job/29384187270

Investigated to find that the error was because the caption entry of a speaker had many URL links within then, so breaking the configuration - added the following regex to the pattern for caption:


```
'^((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)'
```

Tested the regex expression in https://regex101.com/ first to ensure it worked with url format
2024-08-28 21:39:03 +02:00

218 lines
4 KiB
YAML

$defs:
design:
type: object
additionalProperties: false
required:
- image
properties:
image:
type: string
project:
type: object
additionalProperties: false
required:
- id
- name
properties:
id:
type: string
name:
type: string
type:
type: string
enum:
- research
links:
type: object
event:
type: object
additionalProperties: false
required:
- id
- date
#- city
#- country
properties:
id:
type: string
issue:
type: number
type:
type: string
enum:
- summit
- meetup
- hackathon
- privacy-corner
- online-summit
- meta-hackathon
- congress
confirmed:
type: boolean
tags:
type: array
items:
type: string
enum:
- sfe
date:
type: string
days:
type: number
city:
type: string
country:
type: string
pattern: "^\\w{2}$"
place:
type: string
place-address:
type: string
coincidence:
type: string
coincidenceFull:
type: string
lead:
type: string
helpers:
type: array
items:
type: string
slots:
type: number
visitors:
type: number
optional:
type: boolean
links:
type: object
additionalProperties: false
patternProperties:
"^[\\w]+":
type: string
format: uri
speakers:
type: array
name-extension:
type: string
design:
$ref: "#/$defs/design"
images:
type: object
thumbs:
type: object
person:
type: object
additionalProperties: false
required:
- name
properties:
id:
type: string
pattern: "^[a-z0-9-]+$"
name:
type: string
nickname:
type: string
caption:
type: string
pattern: '^((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)'
country:
type: string
pattern: '^[a-z]{2}$'
refs:
type: object
additionalProperties: false
properties:
twitter:
type: string
linkedin:
type: string
bsky:
type: string
github:
type: string
matrix:
type: string
email:
type: string
imageUrl:
type: string
format: uri
thumbs:
type: object
research:
type: object
additionalProperties: false
required:
- issue
- title
- status
properties:
issue:
type: number
title:
type: string
status:
type: string
enum:
- live
- in-progress
- live
- backlog
- deprecated
sort:
type: number
labels:
type: array
items:
type: string
assignees:
type: array
items:
type: string
description:
type: string
caption:
type: string
links:
type: object
type: object
additionalProperties: false
properties:
name:
type: string
email:
type: string
format: email
domain:
type: string
links:
type: object
teams:
type: object
additionalProperties: false
properties:
core-team:
type: array
items:
type: string
projects:
type: array
items:
$ref: "#/$defs/project"
events:
type: array
items:
$ref: "#/$defs/event"
people:
type: array
items:
$ref: "#/$defs/person"
research:
type: array
items:
$ref: "#/$defs/research"