{"id":13449523,"url":"https://github.com/iconify/website","last_synced_at":"2025-04-07T12:10:34.184Z","repository":{"id":162911523,"uuid":"637941992","full_name":"iconify/website","owner":"iconify","description":"New Iconify website, created with VitePress.","archived":false,"fork":false,"pushed_at":"2024-10-23T12:33:01.000Z","size":18915,"stargazers_count":55,"open_issues_count":0,"forks_count":24,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-24T17:53:12.966Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://iconify.design/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iconify.png","metadata":{"files":{"readme":"README.md","changelog":"news/2019/1553414262.md","contributing":"CONTRIBUTING.md","funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support/index.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"open_collective":"iconify","github":["cyberalien"]}},"created_at":"2023-05-08T18:37:01.000Z","updated_at":"2024-10-23T12:33:05.000Z","dependencies_parsed_at":"2023-09-03T14:18:43.891Z","dependency_job_id":"eb992d98-3623-4d0b-92b0-ab33dda007b8","html_url":"https://github.com/iconify/website","commit_stats":{"total_commits":271,"total_committers":7,"mean_commits":"38.714285714285715","dds":"0.33579335793357934","last_synced_commit":"de55614fbebb1bb09846bedbdd632b11f5b0d3b5"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iconify%2Fwebsite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iconify%2Fwebsite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iconify%2Fwebsite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iconify%2Fwebsite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iconify","download_url":"https://codeload.github.com/iconify/website/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247459134,"owners_count":20942150,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T06:00:41.185Z","updated_at":"2025-04-07T12:10:34.163Z","avatar_url":"https://github.com/iconify.png","language":"TypeScript","funding_links":["https://opencollective.com/iconify","https://github.com/sponsors/cyberalien"],"categories":[":card_index_dividers: Projects Using VitePress"],"sub_categories":["Projects"],"readme":"# Iconify Website\n\nThis repository contains source code for Iconify website, built with Vitepress.\n\nWebsite is live at https://iconify.design/\n\n## Build process\n\nRead out [contributing guidelines](./CONTRIBUTING.md) before making any changes.\n\nTo build website, first install dependencies:\n\n```bash\npnpm install\n```\n\nThen you can build the website. To build production code, run this:\n\n```bash\nnr build\n```\n\nBuild process will put all HTML files in directory `dist`.\n\nTo build production code and preview it, run\n\n```bash\nnr preview\n```\n\nDo not commit changes that aren't ready for production.\n\nIf you want to preview website without building, run this:\n\n```bash\nnr dev\n```\n\n## Sources\n\nSource files are written in Markdown and are stored in the following directories:\n- `about`\n- `docs`\n- `getting-started`\n- `news`\n- `privacy`\n- `sponsors`\n- `support`\n\nMain entry file for each directory is `index.md`.\n\nDocumentation uses slightly modified Markdown syntax, see \"Markdown\" section below.\n\n## Assets\n\nAssets are stored in directory `public`.\n\n## Markdown\n\nDocumentation uses extended Markdown syntax.\n\n### Headings\n\nFirst big change is in headings. Every Markdown file must have a heading, which is written in YAML.\n\nHeading properties:\n\n- title. Page title that is used in `\u003ctitle\u003e` tag in HTML. This is a mandatory property.\n- replacements. This is used to dynamically replace strings in output. For example, to make sure the latest version of the project is always the same in all documents without updating every document. See \"Replacements\" section below.\n- types, functions, classes. Links to types, functions and classes that are used in documents.\n\n### Inline code\n\nEach inline code entry can have a type. This is used to apply different syntax highlight to inline code, add links to types.\n\nType is placed at the beginning of inline code in brackets: `[type]string`.\n\nAvailable types:\n\n- attr: used for HTML attributes, with or without values: `[attr]data-inline`, `[attr]foo=\"bar\"`.\n- key, prop: used for keys and object properties. Usually used when describing types: `[prop]hFlip`.\n- var: variable name: `[var]Iconify`.\n- tag: HTML tag: `[tag]svg`. Syntax highlighter will add \"\u003c\" and \"\u003e\" to tag if missing.\n- type: variable type: `[type]IconifyIcon`. If heading in a document has \"types\" section with a relative link to type documentation, syntax highlighter will wrap type in a link.\n- class: used for class names: `[class]Collection`, `[class]Promise`. If a link for class is present in metadata, parser will also convert it to link.\n- func: used for function names: `[func]addIcon`, `[func]addCollection()`. If a link for function is present in metadata, parser will also convert it to link.\n- npm, packagist: used for names of NPM and Packagist packages: `[npm]@iconify/react`.\n- icon: used for icon names: `[icon]mdi:home`.\n- str, bool, num, object, null: used for values: `[str]Hello World`, `[bool]true`, `[num]12345`.\n- js, bash, json, php, css, html: used to highlight syntax for any of those languages: `[js]console.log('Success!');`\n- url: URL or domain name: `[url]github.com`, `[url]https://github.com/iconify`.\n- file: filename: `[file]src/themes.ts`.\n\n### External code\n\nInstead of writing code in Markdown files, many documents use external code.\n\nMost of the external code files are stored in `code-samples`. Stylesheets used in `css` property, could also be located in `.vitepress/theme/samples`.\n\nExternal code is written as YAML code block with various properties. The only mandatory property is \"src\", other properties are optional.\n\nExamples:\n\n```yaml\nsrc: iconify1/size-demo.html\ntitle: 'HTML:'\ncss: iconify1/size-demo.scss\ncssTitle: 'Stylesheet:'\ndemo: true\ndemoTitle: 'Demo:'\nclass: iconify1-size-demo\n```\n\nThis will display 2 chunks of code + demonstration.\n\n```yaml\nsrc: types/alias-raw.json\ntitle: 'IconifyAlias:'\nextra:\n  - src: types/alias-json.json\n    title: 'IconifyJSON:'\n  - src: types/alias-merged.json\n    title: 'Merged \"arrow-right\" icon as IconifyIcon:'\n```\n\nThis will display 3 chunks of code in one contained block. Property \"src\" points to filename, property \"title\" adds caption above code block.\n\nCode block properties:\n\n- src: source for the main code file.\n- title: title for the main code file. Displayed above code block.\n- hint: hint for the main code file. Displayed below code block.\n- copy: boolean, if set to `false`, disables copy to clipboard function for code sample.\n\nProperties for stylesheet:\n\n- css: source for stylesheet.\n- cssTitle: title for stylesheet.\n- cssHint: hint for stylesheet.\n\nStylesheet code is displayed below main code, but in the same container.\n\nProperties for demo:\n\n- demo: boolean. If true, demo will be shown.\n- demoTitle: title for demo.\n- demoHint: hint for demo.\n- class: class to wrap demo. See `.vitepress/theme/samples/_samples.scss`.\n\nDemo block will render raw HTML code from source. It will be rendered below main code and optional stylesheet.\n\nSometimes demo code might be different from raw code. For example, when using samples for Iconify SVG Framework version 1 that work differently in new version. Website uses the latest version of Iconify SVG Framework, so code samples might not display correctly. To avoid that, create second sample file with \".demo\" before filename. That file will be rendered instead of original source file. See documentation for Iconify SVG Framework version 1 for examples.\n\nExtra chunks of code:\n\n- extra: array of extra code chunks. Each chunk has the same 3 properties as original code: `src`, `title` and `hint`.\n\nExtra chunks of code are often used to display several code samples that should be placed in the same container.\n\n### Partials\n\nTo avoid repeating the same text over and over again, parser supports partial documents.\n\nPartial documents can be in Markdown and in HTML format, they are located in `partials`.\n\nPartial files are included in documents using inline code that starts with \"include\": `include notices/iconify1`.\n\n## Replacements\n\nText replacements are used in documentation to re-use common data, such as version numbers and counters without updating every document.\n\nReplacements are applied to document and to external code included in that document.\n\nExample of replacements in heading:\n\n```yaml\nreplacements:\n  - code: '/1/1.0.3/'\n    value: '/${iconify1.version.major}/${iconify1.version.full}/'\n```\n\nThis will replace all entries of `/1/1.0.3/` with the current data. Syntax `${iconify1.version.major}` is used for variables. Variables are stored in `.vitepress/markdown/config.ts`.\n\n## Links\n\nLinks in the markdown syntax must be links to .md files, not URLs. Vitepress will clean them up and point to correct URL.\n\nIn Vitepress, markdown can include HTML code. Links in HTML code are not parsed, so they must link to correct URL, not md file.\n\n## Licence\n\nIconify documentation is dual-licensed under Apache 2.0 licence. You can use this repository to build custom documentation for your project.\n\n`SPDX-License-Identifier: Apache-2.0`\n\n© 2020-PRESENT Vjacheslav Trushkin\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficonify%2Fwebsite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ficonify%2Fwebsite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficonify%2Fwebsite/lists"}