{"id":3194,"url":"https://github.com/bow-swift/nef","last_synced_at":"2026-02-21T03:02:29.710Z","repository":{"id":40346192,"uuid":"162460155","full_name":"bow-swift/nef","owner":"bow-swift","description":"💊 steroids for Xcode Playgrounds","archived":false,"fork":false,"pushed_at":"2022-01-19T18:14:26.000Z","size":6558,"stargazers_count":270,"open_issues_count":8,"forks_count":6,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-11-18T09:25:00.291Z","etag":null,"topics":["apple-documentation","bow","carbon","cocoapods","functional-programming","hacktoberfest","jekyll","nef","playground","swift"],"latest_commit_sha":null,"homepage":"https://nef.bow-swift.io","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bow-swift.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-19T15:59:26.000Z","updated_at":"2025-03-29T21:21:31.000Z","dependencies_parsed_at":"2022-08-09T17:41:37.367Z","dependency_job_id":null,"html_url":"https://github.com/bow-swift/nef","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/bow-swift/nef","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bow-swift%2Fnef","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bow-swift%2Fnef/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bow-swift%2Fnef/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bow-swift%2Fnef/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bow-swift","download_url":"https://codeload.github.com/bow-swift/nef/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bow-swift%2Fnef/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29672261,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T00:11:43.526Z","status":"online","status_checked_at":"2026-02-21T02:00:07.432Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["apple-documentation","bow","carbon","cocoapods","functional-programming","hacktoberfest","jekyll","nef","playground","swift"],"created_at":"2024-01-05T20:16:34.106Z","updated_at":"2026-02-21T03:02:29.685Z","avatar_url":"https://github.com/bow-swift.png","language":"Swift","funding_links":[],"categories":["Command Line","Libs","Tools","Swift","CLI and Server","Command Line [🔝](#readme)"],"sub_categories":["Linter","Command Line","Web View"],"readme":"![](assets/header-nef.png)\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/bow-swift/nef/workflows/Compile and test/badge.svg\" alt=\"Build\"\u003e\n\u003cimg src=\"https://github.com/bow-swift/nef/workflows/Deploy docs/badge.svg\" alt=\"Site\"\u003e\n\u003ca href=\"https://github.com/bow-swift/nef\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/platform-macOS+iPad-blueviolet\" alt=\"Platforms\"\u003e\n\u003c/a\u003e\n\u003cimg src=\"https://img.shields.io/badge/dependency%20manager-swiftpm-blueviolet\" alt=\"dependency manager: Swift Package Manager\"\u003e\n\u003ca href=\"https://gitter.im/bowswift/bow\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/Gitter-nef-blueviolet.svg\" alt=\"Gitter\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n`nef`, short for [Nefertiti](https://en.wikipedia.org/wiki/Nefertiti), mother of Ankhesenamun, is a toolset to ease the **creation of documentation** in the form of Xcode Playgrounds. It provides compile-time **verification** of documentation, exports it in **Markdown** format that can be consumed by [Jekyll](https://jekyllrb.com/) to generate websites, and export [Carbon](https://carbon.now.sh/) snippets for a given Xcode Playground.\n\n`nef` is inspired by [ΛNK](https://github.com/arrow-kt/ank) for Kotlin and [tut](https://github.com/tpolecat/tut) for Scala.\n\n### Features\n\n💡 Eases the creation of Xcode Playgrounds with support for [__third party libraries__](#-creating-a-nef-playground).\n\n💡 [__Compiles Xcode Playgrounds__](#-compiling-a-nef-playground) with support for 3rd-party libraries from the command line.\n\n💡 Builds a [__Playground Book__](#-creating-a-playground-book) for iPad with external dependencies defined in a Swift Package.\n\n💡 Generates [__Markdown__](#-generating-a-markdown-project) project from nef Playground.\n\n💡 Generates Markdown files that can be consumed from [__Jekyll__](#-generating-markdown-files-for-jekyll) to create a microsite.\n\n💡 Export [__Carbon__](#-exporting-carbon-code-snippets) code snippets for a given nef Playground.\n\n\u0026nbsp;\n\n## 💻 Installation\n\n#### 📟 Using [Homebrew](https://github.com/bow-swift/homebrew-nef) (preferred)\n\n```bash\n➜ brew install nef\n```\n\n\u003e It will warn you if there is a missing dependency and will provide guidance to install it.\n\n\u0026nbsp;\n\n#### 📦 Using [Swift Package Manager](https://developer.apple.com/documentation/xcode/creating_a_swift_package_with_xcode)\n\n`nef` can be consumed as a library in your **macOS project**.\n\n```swift\n.package(url: \"https://github.com/bow-swift/nef.git\", from: \"{version}\")\n```\n\nIt is an excellent option if you want to use all nef features in your macOS app, even to build new tooling on top of nef.\n\n\u003e You can read more about how to use nef library in the [**nef site**](https://nef.bow-swift.io/docs/library/how-to-use-nef-library-/).\n\n\u0026nbsp;\n\n#### 🔌 Using [Xcode Editor Extension](https://github.com/bow-swift/nef-plugin)\n\nSome of `nef` features can be used directly in Xcode as an Extension. You can install it directly from [**App Store**](https://apps.apple.com/app/nef/id1479391704?mt=8) or downloading the last binary from the [**releases section**](https://github.com/bow-swift/nef-plugin/releases).\n\n\u0026nbsp;\n\n#### 📲 Using your [iPad](https://github.com/bow-swift/nef-editor-client)\n\nYou can create Swift Playgrounds -together with third-party libraries- directly in your iPad using the app [**nef Playgrounds**](https://apps.apple.com/us/app/nef-playgrounds/id1511012848).\n\n\u0026nbsp;\n\n#### Using a [GitHub badge](https://github.com/bow-swift/nef-playgrounds-badge)\n\nYou can create a [**nef badge**](https://badge.bow-swift.io) for your GitHub repository, and let users try your project in their iPads.\n\n\u003cimg src=\"https://raw.githubusercontent.com/bow-swift/bow-art/master/badges/nef-playgrounds-badge.svg\" alt=\"bow Playground\" style=\"height:20px\"\u003e\n\n\u0026nbsp;\n\n## Usage\n\n### 📃 Creating a nef Playground\n\nXcode Playgrounds are a nice tool for prototyping and trying new concepts. However, third party libraries support is a bit cumbersome to add. One of the goals of `nef` is to make the creation of an Xcode Playground easier with support for one or more libraries.\n\nBy default, `nef` can create an Xcode Playground with support for [Bow](http://bow-swift.io), the Functional Programming companion library for Swift.\n\n```bash\n➜ nef playground\n```\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"assets/nef-playground.png\" height=\"100\"\u003e\n\u003c/p\u003e\n\nAnd you can use the following option to specify the name for the `nef Playground` that you are creating:\n\n```bash\n➜ nef playground --output ~/Desktop --name LatestBowProject\n```\n\nIt will create an Xcode project with support for the latest available version of Bow, named `LatestBowProject` in your `~/Desktop`. If you open this `nef playground`, you will find an Xcode Playground where you can import Bow or any of its modules, and start trying some of its features.\n\nBy default, `nef playground` will be created for iOS platform. If you need to change it, you can use the `--platform` option.\n\n```bash\n➜ nef playground --platform osx\n```\n\nIf you need to take advantage of nef in your Xcode Playgrounds, you can transform your Xcode Playground into a nef Playground using the following command:\n\n```bash\n➜ nef playground --playground \u003cXcode Playground\u003e\n```\n\nWhere `\u003cXcode Playground\u003e` is the path to your Xcode Playground.\n\n###\n\n\u003cdetails\u003e\n\u003csummary\u003e📣 You can create a nef Playground compatible with any different Bow version, branch or commit; even third-party dependencies\u003c/summary\u003e\n\n###\n\n\u003e Note: The next options are mutually exclusive.\n\n###\n\n- `--bow-version \u003cx.y.z\u003e`: Specify the version of Bow that you want to use in the project. This option lets you test an old version of the library in an Xcode Playground. Example:\n\n```bash\n➜ nef playground --name OldBowProject --bow-version 0.3.0\n```\n\n##\n\n- `--bow-branch \u003cbranch name\u003e`: Specify the branch of Bow that you want to use in the project. This option lets you test features of Bow that are still in development in a branch that has not been merged or released yet. Example:\n\n```bash\n➜ nef playground --name BranchBowProject --bow-branch master\n```\n\n##\n\n- `--bow-commit \u003ccommit hash\u003e`: Specify the commit hash of Bow that you want to use in the project. This option lets you test features of Bow exactly at the moment you need, released or not. Example:\n\n```bash\n➜ nef playground --name CommitBowProject --bow-commit e70c739067be1f5700f8b692523e1bb8931c7236\n```\n\n##\n\n- `--podfile \u003cpodfile\u003e`: Specify a **Podfile** with your own dependencies. This option lets you create a Playground with support for other libraries. Create a `Podfile` listing your dependencies and pass it to `nef`. Example:\n\nYour `Podfile`, located in `./folder/dependencies`:\n\n```ruby\ntarget 'MyPodsProject' do\n  platform :osx, '10.14'\n  use_frameworks!\n\n  pod 'Bow', '~\u003e 0.3.0'\nend\n```\n\n```bash\n➜ nef playground --name MyPodsProject --podfile ./folder/dependencies/Podfile\n```\n\n##\n\n- `--cartfile \u003ccartfile\u003e`: Specify a **Cartfile** with your dependencies. Create a `Cartfile` listing your dependencies and pass it to `nef`. Example:\n\nYour `Cartfile`, located in `./folder/dependencies`:\n\n```ruby\ngithub \"bow-swift/Bow\"\n```\n\n```bash\n➜ nef playground --name MyCarthageProject --cartfile ./folder/dependencies/Cartfile\n```\n\n\u003c/details\u003e\n\n\u0026nbsp;\n\n### 🔨 Compiling a nef Playground\n\nXcode lets you check for correctness of your Xcode Playground and run it. However, Apple does not provide us commands to compile an Xcode Playground, as they do for building Xcode projects. It is particularly useful in Continuous Integration when you want to verify that your playgrounds are not broken when the libraries you depend on are updated. `nef` has an option to compile a `nef Playground`. To do this, you can run the following command:\n\n```bash\n➜ nef compile --project \u003cnef playground\u003e\n```\n\u003e If you need to transform your Xcode Playground into a nef Playground you can check [Creating a nef Playground](#-creating-a-nef-playground) section.\n\nWhere `\u003cnef playground\u003e` is the path to `nef Playground` where your playgrounds are located. Also, you can use the following option with this command:\n\n- `--use-cache`: Use cached dependencies if it is possible, in another case, it will download them. Example:\n\n```bash\n➜ nef compile --project \u003cnef playground\u003e --use-cache\n```\n\nYou can also clean the result of the compilation:\n\n```bash\n➜ nef clean --project \u003cnef playground\u003e\n```\n\n\u0026nbsp;\n\n### 📲 Creating a Playground Book\n\nSwift Playgrounds is a revolutionary app that makes possible to write Swift code on an iPad. In the latest updates, Swift Playgrounds 3.x has added a new feature: [UserModules](https://developer.apple.com/documentation/swift_playgrounds/structuring_content_for_swift_playgrounds/using_modules_to_share_code_in_a_playground_book); it lets you include swift code and make it available across multiple chapters like modules.\n\nnef takes advantage of these new possibilities and advancements in Swift Package Manager to build a Playground Book with external dependencies from a Swift Package specification.\n\nGiven a `Package.swift` like the next one:\n```swift\n// swift-tools-version:5.2\n\nimport PackageDescription\n\nlet package = Package(\n    name: \"BowProject\",\n    products: [\n        .library(name: \"BowProject\", targets: [\"nef\"])\n    ],\n    dependencies: [\n        .package(url: \"https://github.com/bow-swift/bow.git\", from: \"0.8.0\"),\n    ],\n    targets: [\n        .target(name: \"nef\", dependencies: [\"Bow\"])\n    ]\n)\n```\n\nyou can run the following command:\n\n```bash\n➜ nef ipad --name PlaygroundName --package Package.swift --output ~/Desktop\n```\n\nIt will create a Playground Book (`PlaygroundName`) with support for the external dependencies and save it in `~/Desktop`\n\nOptions:\n- `--name`: the name for the Playground Book to build.\n- `--package`: path to the Swift Package specification.\n- `--output`: path where the resulting Playground Book will be generated.\n\n\u0026nbsp;\n\n### 🔖 Generating a Markdown project\n\nXcode Playgrounds let you write comments in Markdown format using the symbols `//:` for single line comments, or `/*: */` for multiline comments. Inside these comments, you can use any Markdown syntax; an example:\n\n```swift\n/*:\n # This is a heading 1\n\n This is regular text. *This is bold text*. [This is a link](http://bow-swift.io).\n */\nprotocol MyProtocol {}\n\n//: ## This is a single line heading 2\n```\n\nIt makes Xcode Playgrounds the proper tool to write an article with compilable examples. The command provided by `nef` to generate the Markdown files is:\n\n```bash\n➜ nef markdown --project \u003cnef playground\u003e --output \u003cpath\u003e\n```\n\nOptions:\n\n- `--project`: Path to your nef Playground.\n- `--output`: Path where the resulting Markdown project will be generated.\n\n\u0026nbsp;\n\n### 🌐 Generating Markdown files for Jekyll\n\nAs you can write comments in [Markdown](https://developer.apple.com/library/archive/documentation/Xcode/Reference/xcode_markup_formatting_ref/index.html) in Xcode Playgrounds, this makes it very suitable to write documentation with compilable examples.\nLeveraging this, `nef` can create Markdown files that can be consumed from Jekyll to generate a microsite. The command to do this is:\n\n```bash\n➜ nef jekyll --project \u003cnef playground\u003e --output \u003cpath\u003e --main-page \u003cmain-page\u003e\n```\n\nOptions:\n\n- `--project`: Path to your nef Playground.\n- `--output`: Path where the resulting Markdown files will be generated.\n- `--main-page`: Optional. Path to 'README.md' file to be used as the index page of the generated microsite.\n\n###\n\n\u003cdetails\u003e\n\u003csummary\u003e📣 How to setup a nef Playgroud for Jekyll?\u003c/summary\u003e\n\n###\n\n`nef` finds all the Xcode Playgrounds in a nef Playground. Each playground is considered a section in the generated microsite structure. For each page in a playground, an entry in the corresponding section is created. The page is transformed from Swift to Markdown using the syntax described above. As a result, a directory structure matching the nef Playground structure is generated, together with a `sidebar.yml` that can be used as a menu in Jekyll.\n\n`nef` adds some commands to modify the Markdown transformation process. All `nef` commands are included as Swift comments. They begin with `// nef:begin:` and end with `// nef:end`. The supported commands are:\n\n- `header`: It lets you add metadata to a playground page to be consumed by Jekyll. You must provide the layout that this page will use in Jekyll. The remaining attributes are optional, and you may include any of them according to your Jekyll configuration. `nef` will take care of the permalinks as well. Example (at the beginning of the playground page):\n\n```swift\n// nef:begin:header\n/*\n  layout: docs\n*/\n// nef:end\n```\n\n- `hidden`: It lets you hide a portion of your playground in the output Markdown file. It is useful to hide imports or supporting utility code to make an example work. Example:\n\n```swift\n// nef:begin:hidden\nimport Bow // This will be hidden in the Markdown file\n// nef:end\n\nstruct Person {} // This will be present in the Markdown file\n```\n\u003c/details\u003e\n\n\u0026nbsp;\n\n### 🌁 Exporting Carbon code snippets\n\nXcode Playgrounds are a great place for prototyping and trying new concepts. Oftentimes we want to share some Swift snippets. `Carbon` is a cool tool for this, and `nef` nicely integrates with it. You can take your nef Playground, write several pieces of code, and keep it verified. Later, you can export all your code snippets with the next command:\n\n```bash\n➜ nef carbon --project \u003cnef playground\u003e --output \u003cpath\u003e\n```\n\nOptions:\n\n- `--project`: Path to your nef Playground.\n- `--output`: Path where the resulting Carbon snippets will be generated.\n\n###\n\n\u003cdetails\u003e\n\u003csummary\u003e📣 You can customize the output with the next commands\u003c/summary\u003e\n\n###\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003cth width=\"20%\"\u003eCommand\u003c/th\u003e\n    \u003cth width=\"20%\"\u003eDescription\u003c/th\u003e\n    \u003cth width=\"18%\"\u003eFormat\u003c/th\u003e\n    \u003cth\u003eOptions\u003c/th\u003e\n    \u003cth width=\"5%\"\u003eDefault\u003c/th\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ccode\u003e--background\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eBackground color applied to image\u003c/td\u003e\n    \u003ctd\u003ehexadecimal \u003ccode\u003e#AABBCC\u003c/code\u003e, \u003ccode\u003e#AABBCCDD\u003c/code\u003e or predefined colors\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"https://placehold.it/15/8c44ff/000000?text=+\"\u003e \u003ccode\u003enef\u003c/code\u003e \u003cimg src=\"https://placehold.it/15/d54048/000000?text=+\"\u003e \u003ccode\u003ebow\u003c/code\u003e \u003cimg src=\"https://placehold.it/15/ffffff/000000?text=+\"\u003e \u003ccode\u003ewhite\u003c/code\u003e \u003cbr \\\u003e\u003cimg src=\"https://placehold.it/15/6ef0a7/000000?text=+\"\u003e \u003ccode\u003egreen\u003c/code\u003e \u003cimg src=\"https://placehold.it/15/42c5ff/000000?text=+\"\u003e\u003ccode\u003eblue\u003c/code\u003e \u003cimg src=\"https://placehold.it/15/ffed75/000000?text=+\"\u003e\u003ccode\u003eyellow\u003c/code\u003e \u003cbr \\\u003e\u003cimg src=\"https://placehold.it/15/ff9f46/000000?text=+\"\u003e \u003ccode\u003eorange\u003c/code\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ccode\u003enef\u003c/code\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ccode\u003e--theme\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eCarbon's theme to be applied\u003c/td\u003e\n    \u003ctd align=\"center\"\u003eString\u003c/td\u003e\n    \u003ctd\u003e\u003ccode\u003ebase16-dark\u003c/code\u003e \u003ccode\u003eblackboard\u003c/code\u003e \u003ccode\u003ecobalt\u003c/code\u003e \u003ccode\u003eduotone-dark\u003c/code\u003e \u003ccode\u003edracula\u003c/code\u003e \u003ccode\u003ehopscotch\u003c/code\u003e \u003ccode\u003elucario\u003c/code\u003e \u003ccode\u003ematerial\u003c/code\u003e \u003ccode\u003emonokai\u003c/code\u003e \u003ccode\u003enight-owl\u003c/code\u003e \u003ccode\u003enord\u003c/code\u003e \u003ccode\u003eoceanic-next\u003c/code\u003e \u003ccode\u003eone-dark\u003c/code\u003e \u003ccode\u003epanda-syntax\u003c/code\u003e \u003ccode\u003eparaiso-dark\u003c/code\u003e \u003ccode\u003eseti\u003c/code\u003e \u003ccode\u003eshades-of-purple\u003c/code\u003e \u003ccode\u003esynthwave-84\u003c/code\u003e \u003ccode\u003etomorrow-night-bright\u003c/code\u003e \u003ccode\u003etwilight\u003c/code\u003e \u003ccode\u003everminal\u003c/code\u003e \u003ccode\u003evscode\u003c/code\u003e \u003ccode\u003ezenburn\u003c/code\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ccode\u003edracula\u003c/code\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ccode\u003e--size\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eExport file dimensions\u003c/td\u003e\n    \u003ctd align=\"center\"\u003eNumber\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e[\u003ccode\u003e1\u003c/code\u003e, \u003ccode\u003e5\u003c/code\u003e]\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ccode\u003e2\u003c/code\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ccode\u003e--font\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eFont type\u003c/td\u003e\n    \u003ctd align=\"center\"\u003eString\u003c/td\u003e\n    \u003ctd\u003e\u003ccode\u003efiraCode\u003c/code\u003e \u003ccode\u003ehack\u003c/code\u003e \u003ccode\u003einconsolata\u003c/code\u003e \u003ccode\u003eiosevka\u003c/code\u003e \u003ccode\u003emonoid\u003c/code\u003e \u003ccode\u003eanonymousPro\u003c/code\u003e \u003ccode\u003esourceCodePro\u003c/code\u003e \u003ccode\u003edarkMono\u003c/code\u003e \u003ccode\u003edroidMono\u003c/code\u003e \u003ccode\u003efantasqueMono\u003c/code\u003e \u003ccode\u003eibmPlexMono\u003c/code\u003e \u003ccode\u003espaceMono\u003c/code\u003e \u003ccode\u003eubuntuMono\u003c/code\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ccode\u003efiraCode\u003c/code\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ccode\u003e--show-lines\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eshows/hides number of lines in code snippet\u003c/td\u003e\n    \u003ctd align=\"center\"\u003eBool\u003c/td\u003e\n    \u003ctd\u003e\u003ccode\u003etrue\u003c/code\u003e \u003ccode\u003efalse\u003c/code\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ccode\u003etrue\u003c/code\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ccode\u003e--show-watermark\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eshows/hides watermark in code snippet\u003c/td\u003e\n    \u003ctd align=\"center\"\u003eBool\u003c/td\u003e\n    \u003ctd\u003e\u003ccode\u003etrue\u003c/code\u003e \u003ccode\u003efalse\u003c/code\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ccode\u003etrue\u003c/code\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n#### Example of use\n\nIf we have a project created by `nef`, and an Xcode playground with the next content:\n```swift\nlet example = \"This is an example\"\nprint(\"nef is super cool: \\(example)\")\n\n// nef is super cool: This is an example\n```\n\nRunning the following command, we will customize the `background color` to ![#d54048](https://placehold.it/15/d54048/000000?text=+) bow, `hide the number of lines`, and set the export file to `size 3`:\n\n```bash\n➜ nef carbon --project . --output ~/Desktop/nef-carbon --background bow --size 3 --show-lines false\n```\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"assets/nef-carbon-example.png\" width=\"600\"/\u003e\n\u003c/p\u003e\n\n\u003c/details\u003e\n\n\u0026nbsp;\n\n## ❤️ Contributing to the project\n\nYou can contribute in different ways to make `nef` better:\n\n- File an issue if you encounter a bug or malfunction in `nef`.\n- Suggest a new use case or feature for `nef`.\n- Open a Pull Request fixing a problem or adding new functionality. You can check the [Issues](https://github.com/bow-swift/nef/issues) to see some of the pending tasks.\n- Discuss with us in the [Gitter channel for Bow](https://gitter.im/bowswift/bow) about all the above.\n\n### How to run the project\n\nOpen `project/nef.xcodeproj` in Xcode 11 (or newer) and you are ready to go. nef uses the [Swift Package Manager] to handle its dependencies - they will be resolving automatically from Xcode.\n\n### How to run the documentation project\n\n- Go to main directory where you can find the nef Playground `Documentation.app`.\n- Run `nef compile --project Documentation.app` to set up the project with its dependencies.\n- Open `Documentation.app`\n\nFor further information, refer to our [Contribution guidelines](CONTRIBUTING.md).\n\n\u0026nbsp;\n\n# ⚖️ License\n\n    Copyright (C) 2019-2021 The nef Authors\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbow-swift%2Fnef","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbow-swift%2Fnef","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbow-swift%2Fnef/lists"}