Skip to content

Commit 8a5d7db

Browse files
authored
Merge branch 'main' into add-project-v-docs
2 parents 0d32eee + 7aa526b commit 8a5d7db

File tree

25 files changed

+1177
-122
lines changed

25 files changed

+1177
-122
lines changed

CONTENT.md

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
# Content Guidelines
22

3-
## Table of Contents
4-
5-
### Basics
3+
## Basics
64

75
Here are some essential markdoc syntax elements with code examples:
86

9-
#### Paragraphs and Line Breaks
7+
### Paragraphs and Line Breaks
108

119
To create a new paragraph, simply leave a blank line between lines of text.
1210

@@ -16,7 +14,7 @@ This is the first paragraph.
1614
This is the second paragraph.
1715
```
1816

19-
#### Headers
17+
### Headers
2018

2119
Headers are used to create section titles. Use hashtags (#) for headers, with more hashtags for lower-level headers.
2220

@@ -34,7 +32,7 @@ Headers can also be given ID's so they can be linked to and are present in the T
3432
# Header with ID {% #header-with-id %}
3533
```
3634

37-
#### Lists
35+
### Lists
3836

3937
Create ordered (numbered) and unordered (bulleted) lists using 1., \*, or -.
4038

@@ -54,7 +52,7 @@ Create ordered (numbered) and unordered (bulleted) lists using 1., \*, or -.
5452
- Cherry
5553
```
5654

57-
#### Links
55+
### Links
5856

5957
Create hyperlinks to other web pages or sections within your documentation.
6058

@@ -63,7 +61,7 @@ Create hyperlinks to other web pages or sections within your documentation.
6361
[Link to Section](#section-name)
6462
```
6563

66-
#### Images
64+
### Images
6765

6866
Embed images using the `![alt text](image URL)` syntax.
6967

@@ -82,7 +80,7 @@ In most cases, we need images in both light and dark mode such as:
8280
{% /only_light %}
8381
```
8482

85-
#### Code Blocks
83+
### Code Blocks
8684

8785
Format code blocks using triple backticks (```).
8886

@@ -95,15 +93,15 @@ def hello_world():
9593

9694
Remember to use a specific language label if the code is using an Appwrite SDK. Find the [list of available labels here](https://github.com/appwrite/website/blob/41bb6c71a8647016c88393003d3cf6c4edba1f76/src/lib/utils/references.ts#L26).
9795

98-
#### Inline Code
96+
### Inline Code
9997

10098
Highlight inline code with backticks (`) around the code snippet.
10199

102100
```md
103101
Use the `print()` function to display text.
104102
```
105103

106-
#### Emphasis and Strong Text
104+
### Emphasis and Strong Text
107105

108106
Use asterisks (\*) or underscores (\_) for emphasis and double asterisks or underscores for strong text.
109107

@@ -114,7 +112,7 @@ _Italic Text_ or _Italic Text_
114112
**Bold Text** or **Bold Text**
115113
```
116114

117-
#### Tables
115+
### Tables
118116

119117
Tables allow you to display structured data in your documentation. Use pipes (|) to separate columns and hyphens (-) to define the table header.
120118

@@ -146,7 +144,7 @@ Alternatively, use markdoc tables.
146144
{% /table %}
147145
```
148146

149-
#### Block Quotes
147+
### Block Quotes
150148

151149
Block quotes are used to emphasize or highlight text. To create a block quote, use the > symbol at the beginning of the quoted text.
152150

@@ -157,9 +155,9 @@ Block quotes are used to emphasize or highlight text. To create a block quote, u
157155

158156
These are the fundamental Markdown syntax elements you'll need to create well-structured and formatted documentation.
159157

160-
### Components
158+
## Components
161159

162-
#### Tabs
160+
### Tabs
163161

164162
```md
165163
{% tabs %}
@@ -173,7 +171,7 @@ Lorem ipsum dolor sit amet consectetur.
173171
{% /tabs %}
174172
```
175173

176-
#### Multicode Examples
174+
### Multicode Examples
177175

178176
<pre>
179177
{% multicode %}
@@ -191,7 +189,9 @@ print('test');
191189
{% /multicode %}
192190
</pre>
193191

194-
#### Sections
192+
Remember to use a specific language label if the code is using an Appwrite SDK. Find the [list of available labels here](https://github.com/appwrite/website/blob/41bb6c71a8647016c88393003d3cf6c4edba1f76/src/lib/utils/references.ts#L26).
193+
194+
### Sections
195195

196196
Use sections when there is a clear step-by-step format to a page. This is used mainly in journey pages and tutorials.
197197

@@ -209,15 +209,15 @@ Lorem ipsum dolor sit amet consectetur.
209209
{% /section %}
210210
```
211211

212-
#### Info
212+
### Info
213213

214214
```
215215
{% info title="Public Service Announcement" %}
216216
Lorem ipsum dolor sit amet consectetur.
217217
{% /info %}
218218
```
219219

220-
#### Icon
220+
### Icon
221221

222222
Available sizes are `s`, `m`, `l` and `xl`. Default: `s`.
223223

@@ -228,7 +228,7 @@ Available sizes are `s`, `m`, `l` and `xl`. Default: `s`.
228228
{% icon icon="github" size="xl" /%}
229229
```
230230

231-
#### Icon Image
231+
### Icon Image
232232

233233
Available sizes are `s`, `m`, `l` and `xl`. Default: `s`.
234234

@@ -239,7 +239,7 @@ Available sizes are `s`, `m`, `l` and `xl`. Default: `s`.
239239
{% icon_image src="/icon.png" alt="Icon" size="xl" /%}
240240
```
241241

242-
#### Only Light/Dark Theme
242+
### Only Light/Dark Theme
243243

244244
```
245245
{% only_dark %}
@@ -250,7 +250,7 @@ Available sizes are `s`, `m`, `l` and `xl`. Default: `s`.
250250
{% /only_light %}
251251
```
252252

253-
#### Cards
253+
### Cards
254254

255255
We use cards when we reference a list of links for navigation
256256

@@ -276,7 +276,7 @@ Get started with Appwrite and SvelteKit
276276
{% /cards %}
277277
```
278278

279-
#### Cards with icons
279+
### Cards with icons
280280

281281
We use cards when we reference a list of links for navigation, this variation has icons for extra hints visually.
282282

@@ -294,7 +294,7 @@ Configure FCM for push notification to Android and Apple devices.
294294
{% /cards %}
295295
```
296296

297-
#### Accordions
297+
### Accordions
298298

299299
Use accordions to reduce page size and collapse information that's not important when a reader is scrolling the page.
300300

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,4 @@ Join our growing community around the world! See our official [Blog](https://app
4141

4242
## License
4343

44-
Appwrite website, docs and blog © 2024 by Appwrite is licensed under [CC BY-NC-ND 4.0](https://creativecommons.org/licenses/by-nc-nd/4.0/).
44+
Appwrite website, docs and blog © 2025 by Appwrite is licensed under [CC BY-NC-ND 4.0](https://creativecommons.org/licenses/by-nc-nd/4.0/).

STYLE.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,13 @@ or a page needs to be sufficiently different from existing pages, follow exisitn
332332

333333
If you are proposing a new type of page, discuss an outline in your PR and ask for the Appwrite team's review.
334334

335+
### Placeholders
336+
337+
Whenever there's a need for a placeholder such as for an ID, use angle brackets (<>) over square brackets ([]) because square brackets can be confused for an array.
338+
339+
-`client.setEndpoint("https://<REGION>.cloud.appwrite.io")`
340+
-`client.setEndpoint("https://[REGION].cloud.appwrite.io")`
341+
335342
## Code snippets
336343

337344
For quick starts and tutorials, a developer must be able to follow code examples from beginning to end

pnpm-lock.yaml

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/lib/constants.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ type SocialStats = {
88

99
export const SOCIAL_STATS: SocialStats = {
1010
GITHUB: {
11-
STAT: '48K',
11+
STAT: '50K',
1212
LINK: 'https://github.com/appwrite/appwrite',
1313
EXTRA: {
14-
COMMITS: '24K+',
15-
PULL_REQUESTS: '4.5K+',
14+
COMMITS: '27K+',
15+
PULL_REQUESTS: '4.7K+',
1616
ISSUES: '3K+',
17-
OPEN_ISSUES: '500+',
17+
OPEN_ISSUES: '600+',
1818
CLOSED_ISSUES: '3.3K+',
19-
FORKS: '4.3K+',
19+
FORKS: '4.4K+',
2020
CONTRIBUTORS: '800+'
2121
}
2222
},
@@ -29,7 +29,7 @@ export const SOCIAL_STATS: SocialStats = {
2929
LINK: 'https://twitter.com/intent/follow?screen_name=appwrite'
3030
},
3131
YOUTUBE: {
32-
STAT: '11K+',
32+
STAT: '12K+',
3333
LINK: 'https://www.youtube.com/c/appwrite?sub_confirmation=1'
3434
}
3535
};
30.2 KB
Loading

src/routes/(init)/init/+page.svelte

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
import PosterDeploy from './(assets)/posterDeploy.png';
1616
import PosterIndustryPanel from './(assets)/posterIndustryPanel.png';
1717
import PosterNewImageFormats from './(assets)/posterNewImageFormats.png';
18+
import PosterFileTokens from './(assets)/posterFileTokens.png';
19+
import PosterClosingParty from './(assets)/eventClosingParty.png';
1820
import Sites from './(assets)/illustrations/sites.svg';
1921
import Flutter from './(assets)/illustrations/flutter.svg';
2022
import Formats from './(assets)/illustrations/formats.svg';
@@ -173,36 +175,36 @@
173175
illustration: Tokens,
174176
description:
175177
'Introducing File Tokens. This feature lets you share files easily and securely, without modifying permissions or changing project access. Just generate a token and share the link.',
176-
url: 'https://youtu.be/_XU1dftsQag',
178+
url: 'https://www.youtube-nocookie.com/embed/eiwCCjBD3cw',
177179
content: [
178180
{
179-
title: 'Serverless functions 101: best practices',
181+
title: 'Announcing File Tokens: secure file sharing without the hassle',
180182
url: '/blog/post/announcing-file-tokens',
181183
type: 'Blog'
182184
},
183185
{
184-
title: 'file tokens',
185-
url: '/blog/post',
186+
title: 'CSR vs SSG vs SSR: what they are and how to choose',
187+
url: '/blog/post/csr-ssg-ssr',
186188
type: 'Blog'
187189
},
188190
{
189191
title: 'File Tokens',
190-
url: '/docs/',
192+
url: '/docs/products/storage/file-tokens',
191193
type: 'Docs',
192194
label: 'Visit docs'
193195
}
194196
],
195197
announcementVideo: {
196-
url: 'https://www.youtube-nocookie.com/embed/2KAwVoJh8a8',
198+
url: 'https://www.youtube-nocookie.com/embed/eiwCCjBD3cw',
197199
title: 'Announcement Video',
198-
poster: Poster
200+
poster: PosterFileTokens
199201
},
200202
links: [
201203
{
202204
title: 'YouTube Live',
203205
type: 'video',
204-
poster: PosterFutureAppwrite,
205-
url: 'https://www.youtube.com/watch?'
206+
poster: PosterClosingParty,
207+
url: 'https://www.youtube.com/watch?v=1gvjqV1nq-c?'
206208
}
207209
]
208210
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
layout: author
3+
name: Darshan Pandya
4+
slug: darshan-pandya
5+
role: Product Engineer
6+
bio: Self-taught developer. Mobile apps. Wandering through code & curiosity.
7+
avatar: /images/avatars/darshan.png
8+
twitter: https://twitter.com/itznotabug
9+
github: https://github.com/itznotabug
10+
linkedin: https://www.linkedin.com/in/itznotabug
11+
---
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
---
2+
layout: post
3+
title: "Announcing File Tokens: secure file sharing without the hassle"
4+
description: File Tokens make sharing files from Appwrite simple, secure, and hassle-free. It’s the fastest way to collaborate externally without compromising control.
5+
date: 2025-05-23
6+
cover: /images/blog/file-tokens.png
7+
timeToRead: 5
8+
author: darshan-pandya
9+
category: product
10+
featured: false
11+
---
12+
13+
Until now, sharing files from Appwrite often meant navigating permissions, managing access, or making files public, even when all you wanted was to send a file to someone outside your project. With Appwrite 1.7, we have introduced a new feature that will make file sharing a whole lot easier.
14+
15+
Introducing **File Tokens.**
16+
17+
This feature lets you share files easily and securely, without modifying permissions or changing project access. Just generate a token and share the link.
18+
19+
# Simplifying file access
20+
21+
Appwrite Storage has always made it easy to upload, store, and manage your files. But sharing them? That required extra steps.
22+
23+
With File Tokens, you can now share files with **anyone**, without needing to:
24+
25+
- Change file permissions
26+
- Make files public
27+
- Invite users to your project
28+
29+
Just create a token and send the link. The file is accessible; no account or permissions are needed.
30+
31+
# Important features
32+
33+
- **Secure token-based sharing**: Generate a token and share the file link instantly.
34+
- **No permission changes required**: Keep your file rules intact—tokens work independently.
35+
- **Configurable expiration**: Just like API Keys, File Tokens come with configurable expiration logic, giving you control over how long access is available.
36+
- **Perfect for external collaboration**: Great for sharing assets, reports, or temporary resources with clients, teammates, or partners.
37+
- **Works with Cloud and Self-hosted**: Full support across all Appwrite environments.
38+
39+
Everything happens through the Appwrite Console or API, and works seamlessly with your existing files.
40+
41+
# Why it matters
42+
43+
Today, sharing files externally means breaking your app’s permission model or onboarding outside users. That’s not scalable, and it creates friction.
44+
45+
File Tokens fix this. They give you a simple, secure way to share files without reworking your setup or exposing your project to risk.
46+
47+
# Built for flexibility
48+
49+
File Tokens were designed for developers, teams, and organizations that need to **collaborate beyond their apps**. Whether you’re sharing mockups with a client, logs with a teammate, or documents with a partner, File Tokens gives you a flexible and secure solution.
50+
51+
# How to get started
52+
53+
File Tokens are available now in your Appwrite Console. Pick a file, create a token, and share the generated link. [Visit the documentation](/docs/products/storage/file-tokens) to learn more.
54+
55+
# One link, no limits
56+
57+
You needed a better way to share files, and File Tokens deliver. Whether you collaborate with people outside your app or just want a faster way to get files into the right hands, this feature is for you. File Tokens work seamlessly with the preview, view, and download endpoints, making secure file access straightforward and flexible.
58+
59+
Try File Tokens today on **Appwrite Cloud** or in your **self-hosted** project.

0 commit comments

Comments
 (0)