# Variable: article

```ts
const article: object & Typed<{
  content?: string;
  cover?: {
     hash: string;
     key?: string;
     mime: string;
     name?: string;
     salt?: string;
     size: number;
  };
  draft?: boolean;
  mentions?: readonly string[];
  publishedAt?: string;
  slug?: string;
  summary?: string;
  title: string;
}>;
```

Defined in: [packages/core/src/schemas/library/publishing.ts:181](https://github.com/leifriksheim/minca/blob/main/core/src/schemas/library/publishing.ts#L181)

Long-form writing, optionally in a publication. `draft` keeps it unlisted.

## Type Declaration

### description

```ts
readonly description: "Long-form writing, in CommonMark." = 'Long-form writing, in CommonMark.';
```

### links

```ts
readonly links: object;
```

#### links.in

```ts
readonly in: LinkDeclaration;
```

### name

```ts
readonly name: "std.article" = 'std.article';
```

### schema

```ts
readonly schema: object;
```

#### schema.properties

```ts
readonly properties: object;
```

#### schema.properties.content

```ts
readonly content: object;
```

#### schema.properties.content.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.content.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.content.type

```ts
type: "string";
```

#### schema.properties.cover

```ts
readonly cover: object & object;
```

##### Type Declaration

###### properties

```ts
properties: object;
```

###### properties.hash

```ts
hash: object;
```

###### properties.hash.maxLength

```ts
maxLength: number = 64;
```

###### properties.hash.minLength

```ts
minLength: number = 64;
```

###### properties.hash.type

```ts
type: "string";
```

###### properties.key

```ts
key: object;
```

###### properties.key.maxLength

```ts
maxLength: number = 22;
```

###### properties.key.minLength

```ts
minLength: number = 22;
```

###### properties.key.type

```ts
type: "string";
```

###### properties.mime

```ts
mime: object;
```

###### properties.mime.maxLength

```ts
maxLength: number = max;
```

###### properties.mime.minLength?

```ts
minLength?: number = min;
```

###### properties.mime.type

```ts
type: "string";
```

###### properties.name

```ts
name: object;
```

###### properties.name.maxLength

```ts
maxLength: number = max;
```

###### properties.name.minLength?

```ts
minLength?: number = min;
```

###### properties.name.type

```ts
type: "string";
```

###### properties.salt

```ts
salt: object;
```

###### properties.salt.maxLength

```ts
maxLength: number = 22;
```

###### properties.salt.minLength

```ts
minLength: number = 22;
```

###### properties.salt.type

```ts
type: "string";
```

###### properties.size

```ts
size: object;
```

###### properties.size.minimum

```ts
minimum: number = 0;
```

###### properties.size.type

```ts
type: "integer";
```

###### required

```ts
required: readonly ["hash", "size", "mime"];
```

###### type

```ts
type: "object";
```

###### x-kind

```ts
readonly "x-kind": "file";
```

#### schema.properties.draft

```ts
readonly draft: object;
```

#### schema.properties.draft.type

```ts
readonly type: "boolean" = 'boolean';
```

#### schema.properties.mentions

```ts
readonly mentions: object;
```

#### schema.properties.mentions.items

```ts
items: object & object;
```

##### Type Declaration

###### maxLength

```ts
maxLength: number = max;
```

###### minLength?

```ts
minLength?: number = min;
```

###### type

```ts
type: "string";
```

###### x-kind

```ts
readonly "x-kind": "did";
```

#### schema.properties.mentions.maxItems

```ts
maxItems: number = max;
```

#### schema.properties.mentions.type

```ts
type: "array";
```

#### schema.properties.publishedAt

```ts
readonly publishedAt: object & object;
```

##### Type Declaration

###### maxLength

```ts
maxLength: number = max;
```

###### minLength?

```ts
minLength?: number = min;
```

###### type

```ts
type: "string";
```

###### x-kind

```ts
readonly "x-kind": "when";
```

#### schema.properties.slug

```ts
readonly slug: object;
```

#### schema.properties.slug.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.slug.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.slug.type

```ts
type: "string";
```

#### schema.properties.summary

```ts
readonly summary: object;
```

#### schema.properties.summary.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.summary.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.summary.type

```ts
type: "string";
```

#### schema.properties.title

```ts
readonly title: object;
```

#### schema.properties.title.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.title.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.title.type

```ts
type: "string";
```

#### schema.required

```ts
readonly required: readonly ["title"];
```

#### schema.type

```ts
readonly type: "object" = 'object';
```

### title

```ts
readonly title: "Article" = 'Article';
```

### topics

```ts
readonly topics: readonly ["mentions"];
```
