jaeswift-website/api/data/awesomelist/craftcms--awesome.json

1 line
No EOL
40 KiB
JSON

{"slug": "craftcms--awesome", "title": "Awesome", "description": "A collection of awesome Craft CMS plugins, articles, resources and shiny things.", "github_url": "https://github.com/craftcms/awesome", "stars": "491", "tag": "Content Management Systems", "entry_count": 289, "subcategory_count": 11, "subcategories": [{"name": "Contributing", "parent": "", "entries": []}, {"name": "Contents", "parent": "", "entries": [{"name": "Official Links", "url": "#official-links", "description": ""}, {"name": "Community", "url": "#community", "description": ""}, {"name": "Plugins", "url": "#plugins", "description": ""}, {"name": "Resources", "url": "#resources", "description": ""}, {"name": "Showcase", "url": "#showcase", "description": ""}, {"name": "Craft Coding Challenge", "url": "https://craftcodingchallenge.com/", "description": "A training ground for Craft CMS developers to test and improve their coding skills."}, {"name": "Craft Cookbook", "url": "https://craftcookbook.net/", "description": "Quick solutions to common Craft CMS problems."}, {"name": "CraftQuest", "url": "https://craftquest.io/", "description": "Unlimited access to Craft training (and more)."}, {"name": "Discord", "url": "https://discord.me/craftcms", "description": "The official Discord community for Craft CMS."}, {"name": "Facebook", "url": "https://www.facebook.com/craftcms/", "description": "Like the official Craft CMS Facebook page."}, {"name": "Issues, Feedback, Discussions", "url": "https://github.com/craftcms/cms/issues", "description": "Post feature ideas and bug reports on GitHub.", "stars": "2.9k"}, {"name": "Meetups", "url": "https://craftcms.com/meetups", "description": "Find a local Craft meetup."}, {"name": "StackExchange", "url": "https://craftcms.stackexchange.com", "description": "Q\\&A for administrators, end users, developers and designers."}, {"name": "Twitter", "url": "https://twitter.com/craftcms", "description": "Follow the conversation, official community hashtag is [`#craftcms`](https://twitter.com/hashtag/craftcms)."}, {"name": "Mastodon", "url": "https://mastodon.social/@CraftCMS", "description": "Latest news, on the newest network."}, {"name": "Work With Craft", "url": "https://www.workwithcraft.com/", "description": "Dedicated job board aimed to connect employers with Craft professionals."}, {"name": "Craft 4 Plugins", "url": "https://plugins.craftcms.com/?craft4", "description": ""}, {"name": "Craft 3 Plugins", "url": "https://plugins.craftcms.com/?craft3", "description": ""}, {"name": "Developer Portal", "url": "https://console.craftcms.com/", "description": ""}, {"name": "Generator", "url": "https://github.com/craftcms/generator/", "description": "", "stars": "58"}]}, {"name": "Core Technologies", "parent": "Resources", "entries": [{"name": "PHP", "url": "http://www.php.net/", "description": "A popular general-purpose scripting language."}, {"name": "Yii", "url": "https://www.yiiframework.com/", "description": "A fast, secure, and efficient PHP framework."}, {"name": "Twig", "url": "https://twig.symfony.com/", "description": "The flexible, fast, and secure template engine for PHP."}, {"name": "MySQL", "url": "https://www.mysql.com/", "description": "The world's most popular open source database."}, {"name": "PostgreSQL", "url": "https://www.postgresql.org/", "description": "The world's most advanced open source database."}]}, {"name": "Articles", "parent": "Resources", "entries": [{"name": "9 Tips For Speeding Up Your Imager Transforms", "url": "https://www.vaersaagod.no/en/9-tips-for-speeding-up-your-imager-transforms-in-craftcms", "description": ""}, {"name": "Creating Optimized Images in Craft CMS", "url": "https://nystudio107.com/blog/creating-optimized-images-in-craft-cms", "description": ""}, {"name": "Responsive Images with `srcset` & Craft", "url": "https://www.viget.com/articles/responsive-images-with-srcset-craft", "description": ""}, {"name": "Simple Static Asset Versioning in Craft CMS", "url": "https://nystudio107.com/blog/simple-static-asset-versioning", "description": ""}, {"name": "Support for Imgix in Imager for Craft", "url": "https://www.vaersaagod.no/en/support-for-imgix-in-imager-for-craftcms", "description": ""}, {"name": "Multi-attribute variant selection in Craft Commerce", "url": "https://www.vaersaagod.no/en/multi-attribute-variant-selection-in-craft-commerce", "description": ""}, {"name": "Craft CMS Content Builder: The Client Experience", "url": "https://designbycosmic.com/articles/development/craft-cms-content-builder-the-client-experience", "description": ""}, {"name": "Creating a Content Builder in Craft CMS", "url": "https://nystudio107.com/blog/creating-a-content-builder-in-craft-cms", "description": ""}, {"name": "Add users to Craft with content migrations", "url": "https://joren.co/add-users-to-craft-with-content-migrations/", "description": ""}, {"name": "Using Content Migrations in Craft 3", "url": "https://adigital.agency/blog/using-content-migrations-in-craft-3", "description": ""}, {"name": "11 Things You Need to Know About Craft 3", "url": "https://mijingo.com/blog/11-things-you-need-to-know-about-craft-3", "description": ""}, {"name": "Why you should update your website to Craft CMS 3", "url": "https://weareabstrakt.com/views/why-you-should-update-your-website-to-craft-cms-3", "description": ""}, {"name": "Atomic Deployments Without Tears", "url": "https://nystudio107.com/blog/executing-atomic-deployments", "description": ""}, {"name": "Global Sets in the Craft Element API", "url": "https://mijingo.com/blog/accessing-global-sets-from-the-element-api-in-craft", "description": ""}, {"name": "Lazy Loading with the Element API & VueJS", "url": "https://nystudio107.com/blog/lazy-loading-with-the-element-api-vuejs", "description": ""}, {"name": "Database & Asset Syncing Between Environments in Craft CMS", "url": "https://nystudio107.com/blog/database-asset-syncing-between-environments-in-craft-cms", "description": ""}, {"name": "Localization & Multi-Environment Setup in Craft", "url": "https://designkarma.co.uk/blog/localization-multi-environment-setup-in-craft", "description": ""}, {"name": "Multi-Environment Config for Craft CMS", "url": "https://nystudio107.com/blog/multi-environment-config-for-craft-cms", "description": ""}, {"name": "Craft CMS AJAX Page Transitions with `history.pushState`", "url": "https://designbycosmic.com/articles/development/craft-cms-ajax-page-transitions-with-history-pushstate", "description": ""}, {"name": "Editing a Front End Form with Matrix", "url": "https://caffeinecreations.ca/blog/editing-a-front-end-form-with-matrix/", "description": ""}, {"name": "Language switcher for Craft 3", "url": "https://www.thebasement.be/language-switcher-for-craft-3/", "description": ""}, {"name": "20 Principles for Craft CMS", "url": "https://hackernoon.com/20-principles-for-craft-cms-ae08d80c17de", "description": ""}, {"name": "Craft CMS 3 Orientation Guide", "url": "https://nystudio107.com/blog/craft-cms-3-orientation-guide-welcome", "description": ""}, {"name": "Craft CMS through the eyes of a website designer", "url": "https://adigital.agency/blog/craft-cms-through-the-eyes-of-a-website-designer", "description": ""}, {"name": "How To Get Started With SEO In Craft CMS", "url": "https://blog.galaxyweblinks.com/how-to-get-started-with-seo-in-craft-cms/", "description": ""}, {"name": "Setting up a New Craft CMS 3 Project", "url": "https://nystudio107.com/blog/setting-up-a-craft-cms-3-project", "description": ""}, {"name": "Sending notifications to Slack and other channels with Craft CMS", "url": "https://rias.be/blog/sending-notifications-to-slack-and-other-channels-with-craft-cms", "description": ""}, {"name": "The Living Component Library", "url": "https://clearleft.com/posts/443", "description": ""}, {"name": "Getting Started with Craft CMS 2 and Laravel Valet", "url": "https://medium.com/@jalendport/running-craft-cms-2-on-laravel-valet-8a750d1c19e", "description": ""}, {"name": "Getting Started with Craft CMS 3 and Laravel Valet", "url": "https://medium.com/@jalendport/running-craft-cms-3-on-laravel-valet-6df61e5193fd", "description": ""}, {"name": "How I Automate My Local Development Craft CMS 2.x Installs", "url": "https://medium.com/@timknight/how-i-automate-my-craft-cms-2-x-installs-8427f70914e4", "description": ""}, {"name": "A Craft CMS Development Workflow With Docker: Part 1 - Local Development", "url": "https://mattgrayisok.com/a-craft-cms-development-workflow-with-docker-part-1-local-development", "description": ""}, {"name": "Enhancing a Craft CMS 3 Website with a Custom Module", "url": "https://nystudio107.com/blog/enhancing-a-craft-cms-3-website-with-a-custom-module", "description": ""}, {"name": "A/B Split Testing with Nginx & Craft CMS", "url": "https://nystudio107.com/blog/a-b-split-testing-with-nginx-craft-cms", "description": ""}, {"name": "Debug Tool in Craft 3: Here\u2019s all you need to know about it", "url": "https://medium.com/@galaxyweblinks/debug-tool-in-craft-3-heres-all-you-need-to-know-about-it-be8a3395ebbd", "description": ""}, {"name": "Large websites and performance in Craft CMS", "url": "http://madebyshape.co.uk/web-design-blog/large-websites-and-performance-in-craft-cms", "description": ""}, {"name": "Profiling your Website with Craft CMS 3\u2019s Debug Toolbar", "url": "https://nystudio107.com/blog/profiling-your-website-with-craft-cms-3s-debug-toolbar", "description": ""}, {"name": "Speed up your Craft CMS Templates with Eager Loading", "url": "https://nystudio107.com/blog/speed-up-your-craft-cms-templates-with-eager-loading", "description": ""}, {"name": "Static File Caching with Craft CMS 3, aka The Best Of Both Worlds", "url": "https://putyourlightson.com/articles/static-file-caching-with-craft-cms-3-aka-the-best-of-both-worlds", "description": ""}, {"name": "Static Page Caching with Craft CMS", "url": "https://nystudio107.com/blog/static-caching-with-craft-cms", "description": ""}, {"name": "The Craft `{% cache %}` Tag In-Depth", "url": "https://nystudio107.com/blog/the-craft-cache-tag-in-depth", "description": ""}, {"name": "Thoughts on full page caching in Craft", "url": "https://angell.io/blog/thoughts-on-full-page-caching-in-craft", "description": ""}, {"name": "3 Things to Know About Craft Plugin Development", "url": "https://mijingo.com/blog/3-things-to-know-about-craft-plugin-development", "description": ""}, {"name": "Craft Plugins in Craft 3", "url": "https://mijingo.com/blog/craft-plugins-in-craft-3", "description": ""}, {"name": "Getting Started with Craft Plugin Development with Ben Croker", "url": "https://mijingo.com/blog/getting-started-with-craft-plugin-development-with-ben-croker", "description": ""}, {"name": "Inspiration for Your First Craft Plugin", "url": "https://mijingo.com/blog/inspiration-for-your-first-craft-plugin", "description": ""}, {"name": "Craft CMS E-Commerce: Why and How I Built a Snipcart Plugin", "url": "https://snipcart.com/blog/craft-cms-ecommerce-plugin", "description": ""}, {"name": "The Guide to Craft CMS Development", "url": "https://gomasuga.com/course/craft-cms-guide", "description": ""}, {"name": "The Ultimate Craft CMS vs WordPress Guide", "url": "https://gomasuga.com/info/content-management-systems-craft-cms-vs-wordpress", "description": ""}, {"name": "Introduction to Craft CMS", "url": "https://github.com/jeromecoupe/iad_craftcms_introduction", "description": "", "stars": "83"}, {"name": "Securing Front-End User Profile and Entry Forms in Craft", "url": "https://putyourlightson.com/articles/securing-front-end-user-profile-and-entry-forms-in-craft", "description": ""}, {"name": "Securing Your Craft Site in 2022\u2014Part 3", "url": "https://putyourlightson.com/articles/securing-your-craft-site-in-2022-part-3", "description": ""}, {"name": "Securing Your Craft Site in 2021\u2014Part 2", "url": "https://putyourlightson.com/articles/securing-your-craft-site-in-2021-part-2", "description": ""}, {"name": "Securing Your Craft Site in 2021\u2014Part 1", "url": "https://putyourlightson.com/articles/securing-your-craft-site-in-2021-part-1", "description": ""}, {"name": "Storing Secrets in Craft CMS", "url": "https://putyourlightson.com/articles/storing-secrets-in-craft-cms", "description": ""}, {"name": "Common Security Vulnerabilities in Craft CMS Plugins", "url": "https://putyourlightson.com/articles/common-security-vulnerabilities-in-craft-cms-plugins", "description": ""}, {"name": "Enforcing better passwords in Craft CMS", "url": "https://rias.be/blog/enforcing-better-passwords-in-craft-cms", "description": "Rias"}, {"name": "Hardening Craft CMS Permissions", "url": "https://nystudio107.com/blog/hardening-craft-cms-permissions", "description": ""}, {"name": "Hashing Redirect Params in Craft", "url": "https://mijingo.com/blog/hashing-redirect-params-in-craft", "description": ""}, {"name": "The Case of the Missing PHP Session", "url": "https://nystudio107.com/blog/the-case-of-the-missing-php-session", "description": ""}, {"name": "Using Categories in Craft CMS", "url": "https://mijingo.com/blog/using-categories-in-craft-cms", "description": ""}, {"name": "Brief Overview of Craft Routing to Templates", "url": "https://mijingo.com/blog/brief-overview-of-craft-routing-to-templates", "description": ""}, {"name": "Building Complex Queries by Extending the ElementCriteriaModel", "url": "https://tighten.co/blog/craft-cms-building-complex-queries-by-extending-the-elementcriteriamodel", "description": ""}, {"name": "Creating an Age Drop-down with Twig range()", "url": "https://mijingo.com/blog/using-twig-range-to-create-an-age-drop-down", "description": ""}, {"name": "DRY Templating with Twig and Craft CMS", "url": "https://medium.com/base-voices/dry-templating-with-twig-and-craft-cms-543292d114aa", "description": ""}, {"name": "Filters in Twig and Craft", "url": "https://mijingo.com/blog/filters-in-twig-and-craft", "description": ""}, {"name": "Handling Errors Gracefully in Craft CMS", "url": "https://nystudio107.com/blog/handling-errors-gracefully-in-craft-cms", "description": ""}, {"name": "How to check for undefined variables", "url": "https://cruftlesscraft.com/how-to-check-for-undefined-variables", "description": ""}, {"name": "Key Value Arrays in Twig", "url": "https://mijingo.com/blog/key-value-arrays-in-twig", "description": ""}, {"name": "Passing data from Twig to JavaScript", "url": "https://cruftlesscraft.com/passing-data-from-twig-to-javascript", "description": ""}, {"name": "Quick Tips: Craft CMS", "url": "http://gregorterrill.com/blog/2017/quick-tips-craft-cms", "description": ""}, {"name": "Three Twig Tag Types in Craft CMS Explained", "url": "https://mijingo.com/blog/three-tag-types-in-craft-cms-explained", "description": ""}, {"name": "Twig Processing Order & Scope", "url": "https://nystudio107.com/blog/twig-processing-order-and-scope", "description": ""}, {"name": "Using Macros in Twig and Craft", "url": "https://mijingo.com/blog/using-macros-in-twig-and-craft", "description": ""}, {"name": "Using Variables in Twig and Craft CMS", "url": "https://mijingo.com/blog/using-variables-in-twig-and-craft-cms", "description": ""}, {"name": "Where am I in the Twig Loop?", "url": "https://mijingo.com/blog/where-am-i-in-the-twig-loop", "description": ""}, {"name": "Tips for Craft multilingual websites", "url": "https://www.webstoemp.com/blog/craft-multilingual-websites-tips/", "description": ""}, {"name": "Combined searches and filters using Craft", "url": "https://www.webstoemp.com/blog/combined-searches-and-filters-craft-cms/", "description": ""}, {"name": "SVG Sprites and Twig Macros in Craft CMS", "url": "https://caffeinecreations.ca/blog/svg-sprites-and-twig-macros-in-craft-cms/", "description": ""}, {"name": "Responsive tables in Craft", "url": "https://www.thebasement.be/responsive-tables-in-craft/", "description": ""}]}, {"name": "Videos", "parent": "Resources", "entries": [{"name": "Craft 3 Remote Volumes with AWS S3", "url": "https://mijingo.com/blog/craft-3-remote-volumes-with-aws-s3", "description": ""}, {"name": "Image Editing in Craft 3", "url": "https://mijingo.com/lessons/image-editor-craft-cms-3/", "description": ""}, {"name": "Images and Image Editing in Craft 3", "url": "https://www.youtube.com/watch?v=_chcVWpA3K8", "description": ""}, {"name": "Remote Asset Sources in Craft", "url": "https://mijingo.com/lessons/remote-asset-sources-in-craft/", "description": ""}, {"name": "Fundamentals of Craft Commerce", "url": "https://mijingo.com/products/screencasts/craft-commerce/", "description": ""}, {"name": "Introduction to Craft Commerce II", "url": "https://www.youtube.com/watch?v=oMA9nJkinxg", "description": ""}, {"name": "Pushing the Limits of Craft CMS's Matrix Field", "url": "https://www.youtube.com/watch?v=HXy_-LLjV_U", "description": ""}, {"name": "Customizing the Craft Control Panel", "url": "https://www.youtube.com/watch?v=PDflVN28iR4\\&t=1s", "description": ""}, {"name": "An initial look at Craft 3", "url": "https://www.youtube.com/watch?v=1Zly_rVbJpc", "description": ""}, {"name": "Craft 3 Command Line", "url": "https://mijingo.com/lessons/craft-3-command-line/", "description": ""}, {"name": "Craft 3: What You Need to Know", "url": "https://mijingo.com/lessons/craft-3-what-you-need-to-know/", "description": ""}, {"name": "Better Build Processes with Gulp and Craft", "url": "https://www.youtube.com/watch?v=4er0UaAvfVs", "description": ""}, {"name": "Creating an Element API in Craft", "url": "https://mijingo.com/lessons/creating-an-element-api-in-craft-cms/", "description": ""}, {"name": "Craft CMS 3 Manual Installation", "url": "https://www.youtube.com/watch?v=JNe4E6r7jgY", "description": ""}, {"name": "Craft CMS Essentials", "url": "https://mijingo.com/craft-essentials", "description": ""}, {"name": "Craft Starter Pack", "url": "https://mijingo.com/products/bundles/craft-starter-pack/", "description": ""}, {"name": "Up and Running with Craft", "url": "https://mijingo.com/products/screencasts/up-and-running-with-craft/", "description": ""}, {"name": "Craft-Powered Apps", "url": "https://www.youtube.com/watch?v=MPWckTSJnX0", "description": ""}, {"name": "Composer and Craft 3", "url": "https://www.youtube.com/watch?v=q7-_y8r2W4M", "description": ""}, {"name": "Installing Composer", "url": "https://mijingo.com/lessons/installing-composer-craft-cms/", "description": ""}, {"name": "Installing Craft 3 (beta)", "url": "https://mijingo.com/lessons/installing-craft-cms-3/", "description": ""}, {"name": "Installing Craft CMS", "url": "https://mijingo.com/lessons/installing-craft-cms/", "description": ""}, {"name": "Updating Craft 3 Beta", "url": "https://mijingo.com/lessons/updating-craft-3-beta-with-composer/", "description": ""}, {"name": "Upgrading Craft 2 to Craft 3", "url": "https://mijingo.com/lessons/upgrade-to-craft-cms-3/", "description": ""}, {"name": "Managing Multiple Sites in Craft 3 \u2013 Sites and Localization", "url": "https://www.youtube.com/watch?v=u_Yqwvx-gA0", "description": ""}, {"name": "Using Craft CMS 3 Multi-Site", "url": "https://mijingo.com/lessons/craft-3-multi-site/", "description": ""}, {"name": "How I Use Craft Scripts in Craft CMS Running in Craft Nitro 2", "url": "https://andreademers.substack.com/p/craft-scripts-craft-cms-craft-nitro-2", "description": ""}, {"name": "Hot Module Reloading with Laravel Mix v6 and Craft Nitro 2", "url": "https://andrewmeni.ch/blog/hot-module-reloading-with-laravel-mix-v6-and-craft-nitro-2", "description": ""}, {"name": "Local Development with Craft Nitro", "url": "https://craftquest.io/courses/local-development-localhosting-craft-nitro", "description": ""}, {"name": "Yii Debug Toolbar in Craft CMS 3", "url": "https://mijingo.com/lessons/yii-debug-toolbar-craft-cms/", "description": ""}, {"name": "Craft 3 Plugin Development - Controllers & Variables", "url": "https://www.youtube.com/watch?v=N2N1TQgdSL0", "description": ""}, {"name": "Craft Plugin Development", "url": "https://mijingo.com/products/screencasts/craft-plugin-development/", "description": ""}, {"name": "Craft Plugin Development Workbook", "url": "https://mijingo.com/products/workbooks/craft-plugin-development-workbook/", "description": ""}, {"name": "Getting Started with Craft Plugin Development (Craft 3)", "url": "https://craftquest.io/courses/how-to-create-craft-plugin", "description": ""}, {"name": "Getting Started with Craft Plugin Development (Craft 2)", "url": "https://mijingo.com/blog/getting-started-with-craft-plugin-development", "description": ""}, {"name": "Migrating a Field Type plugin from Craft 2 to Craft 3", "url": "https://www.youtube.com/watch?v=lx6GkcT8SyU", "description": ""}, {"name": "Migrating a plugin from Craft 2 to Craft 3", "url": "https://www.youtube.com/watch?v=twQY7GbpYGg\\&t=34s", "description": ""}, {"name": "Migrating a website with plugins from Craft 2 to Craft 3", "url": "https://www.youtube.com/watch?v=T6wBZbH0oDU", "description": ""}, {"name": "Plugins in Craft 3", "url": "https://mijingo.com/lessons/plugins-in-craft-3/", "description": ""}, {"name": "Tools for getting started with plugin development?", "url": "https://www.youtube.com/watch?v=DrT9tjkDeQY", "description": ""}, {"name": "Writing Bulletproof Database Migrations", "url": "https://www.youtube.com/watch?v=FkdPiWVd8BI", "description": ""}, {"name": "Craft CMS E-Commerce: Why and How I Built a Snipcart Plugin", "url": "https://snipcart.com/blog/craft-cms-ecommerce-plugin", "description": ""}, {"name": "Critical Updates and Craft CMS", "url": "https://www.youtube.com/watch?v=Fl1DZVHTFio", "description": ""}, {"name": "Hashing Redirects in Craft", "url": "https://mijingo.com/lessons/hashing-redirect-parameter-in-craft/", "description": ""}, {"name": "Security and Craft CMS", "url": "https://www.youtube.com/watch?v=EsI5FgF3BAI\\&t=5s", "description": ""}, {"name": "Changing Section Labels in Craft", "url": "https://mijingo.com/lessons/changing-section-labels-in-craft/", "description": ""}, {"name": "Control Flow in Twig", "url": "https://mijingo.com/products/screencasts/control-flow-in-twig/", "description": ""}, {"name": "Craft 3 Service APIs in Templates", "url": "https://mijingo.com/lessons/craft-3-service-apis-in-templates/", "description": ""}, {"name": "Eager-Loading Elements", "url": "https://www.youtube.com/watch?v=H52sphm4YM0", "description": ""}, {"name": "Flexbox and Craft", "url": "https://www.youtube.com/watch?v=9x7FZ22N15U", "description": ""}, {"name": "Flexible Twig Templates in Craft", "url": "https://mijingo.com/products/screencasts/reusable-twig-templates-craft/", "description": ""}, {"name": "How I build components in CraftCMS with Twig", "url": "https://www.youtube.com/watch?v=FNIM8MvUL-Q", "description": ""}, {"name": "How to build a content builder in Craft CMS", "url": "https://www.youtube.com/watch?v=VSXglzqJ2Z4", "description": ""}, {"name": "How to build a reusable carousel component with Craft CMS", "url": "https://www.youtube.com/watch?v=e-6bk2VnBCk\\&feature=youtu.be", "description": ""}, {"name": "Matrix as a Layout Builder", "url": "https://www.youtube.com/watch?v=IJpCMkA2Bxw", "description": ""}, {"name": "Navigating Navigation in Craft CMS", "url": "https://www.youtube.com/watch?v=eDAdIkXBH48", "description": ""}, {"name": "Nested navigation based on Structure section", "url": "https://www.youtube.com/watch?v=AylyBOqlooc", "description": ""}, {"name": "Passing Data with Twig Include", "url": "https://mijingo.com/lessons/passing-data-with-the-twig-include-statement/", "description": ""}, {"name": "Twig Templates in Craft", "url": "https://mijingo.com/products/screencasts/twig-templates-in-craft/", "description": ""}, {"name": "Twig's null-coalescing operator (??)!", "url": "https://www.youtube.com/watch?v=DAQ2qh8pebs", "description": ""}, {"name": "Using `.all()` in Craft 3", "url": "https://mijingo.com/lessons/using-dot-all-in-craft-3-element-queries/", "description": ""}, {"name": "Using the Batch Filter in Twig", "url": "https://mijingo.com/lessons/using-the-batch-filter-in-twig/", "description": ""}, {"name": "Building a Blog in Craft CMS", "url": "https://www.youtube.com/watch?v=lfDZ6v23KcE", "description": ""}, {"name": "Contact Form in Craft CMS", "url": "https://mijingo.com/lessons/contact-form-in-craft-cms/", "description": ""}]}, {"name": "Presentations", "parent": "Resources", "entries": [{"name": "Building a Smarter Craft Commerce Website", "url": "https://speakerdeck.com/sjcallender/building-a-smarter-craft-commerce-website", "description": ""}, {"name": "Craft 3 Plugin Development", "url": "https://speakerdeck.com/brandonkelly/craft-3-plugin-development", "description": ""}, {"name": "Crafting Modern SEO", "url": "https://speakerdeck.com/nystudio107/crafting-modern-seo", "description": ""}, {"name": "Design Processes and Systems in Craft", "url": "https://www.slideshare.net/CourtneyBradford/design-processes-and-systems-in-craft-116882979", "description": ""}, {"name": "Designers Guide to Craft CMS Plugins", "url": "https://speakerdeck.com/bymayo/designers-guide-to-craft-cms-plugins", "description": "by Jason Mayo - `3 Nov 2016`"}, {"name": "Dot All 2017 Keynote", "url": "https://speakerdeck.com/brandonkelly/dot-all-2017-keynote", "description": ""}, {"name": "How to Migrate Legacy Content to Craft Without Losing Your Sanity", "url": "https://speakerdeck.com/jamesgreig/how-to-migrate-legacy-content-to-craft-without-losing-your-sanity", "description": ""}, {"name": "Intro to Craft", "url": "https://speakerdeck.com/philipzaengle/intro-to-craft", "description": ""}, {"name": "Intro to Craft 3", "url": "https://speakerdeck.com/brandonkelly/intro-to-craft-3", "description": ""}, {"name": "Making a Craft CMS Website That Flies", "url": "https://speakerdeck.com/nystudio107/making-a-craft-cms-website-that-flies", "description": ""}, {"name": "Modern Frontends with Craft CMS, GraphQL, and React", "url": "https://pauloelias.github.io/modern-frontends-craft-react-graphql-v1/#0", "description": ""}, {"name": "Multilingual Sites in Craft 3", "url": "https://speakerdeck.com/drifteaur/multilingual-sites-in-craft-3", "description": ""}, {"name": "Running Craft as a 12-factor app on Heroku", "url": "https://drive.google.com/file/d/16SJp0c8FvXi3Xfr0WtgXtH7-rY_-BGoj/view", "description": ""}, {"name": "Scaling Craft CMS Sites for Large Launches", "url": "https://speakerdeck.com/mattweinberg/scaling-craft-cms-sites-for-large-launches", "description": ""}, {"name": "State of Craft 2018", "url": "https://speakerdeck.com/brandonkelly/state-of-craft-2018", "description": ""}, {"name": "The Art Of Plugin Development", "url": "https://speakerdeck.com/putyourlightson/the-art-of-plugin-development", "description": ""}, {"name": "Twig Super Power Roundup", "url": "https://speakerdeck.com/bymayo/twig-super-power-roundup-craft-cms-3", "description": ""}, {"name": "What\u2019s the Deal with Craft CMS?", "url": "https://speakerdeck.com/brandonkelly/whats-the-deal-with-craft-cms", "description": ""}, {"name": "Working with Craft Commerce", "url": "https://speakerdeck.com/bymayo/working-with-craft-commerce", "description": ""}]}, {"name": "Praises", "parent": "Resources", "entries": [{"name": "10 Reasons Why We Love Craft CMS", "url": "http://taechogroup.com/blog/10-reasons-why-we-love-craft-cms", "description": ""}, {"name": "A Review of Craft Commerce", "url": "http://www.newmediacampaigns.com/blog/a-review-of-craft-commerce", "description": ""}, {"name": "A love letter to Craft CMS", "url": "https://medium.com/diesdas-direct/a-love-letter-to-craft-cms-737f60d756cc", "description": ""}, {"name": "An Overview of Pixel & Tonic\u2019s Craft CMS", "url": "https://medium.com/@msoyka91/an-overview-of-pixel-tonics-craft-cms-4bd9d5768ed0", "description": ""}, {"name": "Craft CMS vs WordPress: A comparison & why we love Craft CMS", "url": "https://www.madebybridge.com/blog/craft-cms-vs-wordpress-a-comparison", "description": ""}, {"name": "Craft CMS Vs WordPress: Why Choose Craft?", "url": "https://medium.com/@galaxyweblinks/craft-cms-vs-wordpress-why-choose-craft-7a557cdb604d", "description": "`19 June 2018`"}, {"name": "Crazy About Craft", "url": "http://www.newmediacampaigns.com/blog/review-of-craft-cms-tips-to-get-started", "description": ""}, {"name": "How we chose Craft CMS for our product websites", "url": "https://wildbit.com/blog/2016/11/01/how-we-chose-craft-cms-for-products-websites", "description": ""}, {"name": "Why Content Managers Love Craft CMS", "url": "https://weareabstrakt.com/blog/2017/why-content-managers-love-craft-cms/", "description": ""}, {"name": "Why Content Writers Love Craft CMS", "url": "https://caffeinecreations.ca/why-content-writers-love-craft-cms/", "description": ""}, {"name": "Why Craft CMS is the best content management system we (and you) have ever used", "url": "https://www.ten4design.co.uk/insight/why-craft-cms-is-the-best-content-management-system", "description": ""}, {"name": "Why We Love Craft CMS", "url": "https://www.viget.com/articles/why-we-love-craft-cms", "description": ""}, {"name": "Why We Use Craft CMS", "url": "https://designbycosmic.com/articles/development/why-we-use-craft-cms", "description": ""}, {"name": "Why We Use Craft CMS", "url": "https://builtbymasonry.com/journal/why-we-use-craft-cms", "description": ""}, {"name": "Why We're Craft CMS Developers", "url": "https://honcho.agency/blog/why-were-craft-cms-developers", "description": ""}, {"name": "Why We've Fallen Head Over Heels for Craft CMS", "url": "https://welfordmedia.co.uk/blog/design-development/we-love-craft-cms", "description": ""}, {"name": "Why we develop websites using Craft CMS instead of Wordpress", "url": "https://weareabstrakt.com/blog/2017/why-we-develop-websites-using-craft-cms-instead-of-wordpress/", "description": ""}, {"name": "Why you should be considering Craft over WordPress", "url": "http://madebykind.com/thinking/why-you-should-be-considering-craft-over-wordpress", "description": ""}, {"name": "Why Craft?", "url": "https://www.webstoemp.com/blog/why-craft-cms/", "description": ""}]}, {"name": "Podcasts", "parent": "Resources", "entries": [{"name": "Craft.Podcast", "url": "http://craftpodcast.com/", "description": "A voice for the #CraftCMS community."}, {"name": "Craft CMS 3 as an Application Platform", "url": "https://devmode.fm/episodes/craft-cms-3-as-an-application-platform", "description": "devmode.fm and Ben Crocker dis\u00adcuss using Craft CMS 3 as an appli\u00adca\u00adtion plat\u00adform."}, {"name": "Craft CMS 3 with Pixel & Tonic Founder Brandon Kelly!", "url": "https://devmode.fm/episodes/craft-cms-3-with-pixel-tonic-founder-brandon-kelly", "description": "Get an insider\u2019s view of the the devel\u00adop\u00adment of Craft CMS 3."}, {"name": "Dot All 2018 Conference Recap & Analysis, Live from Berlin!", "url": "https://devmode.fm/episodes/dot-all-2018-conference-recap-analysis-live-from-berlin", "description": "The dev\u200bMode\u200b.fm crew recaps the Dot All 2018 Con\u00adfer\u00adence in Berlin."}, {"name": "Talk\u00ading Craft CMS 3 RC1!", "url": "https://devmode.fm/episodes/talking-craft-cms-rc1", "description": "The inau\u00adgur\u00adal episode of the `dev\u200bMode\u200b.fm` pod\u00adcast."}, {"name": "Commerce Minded", "url": "https://www.fostercommerce.com/podcast", "description": "A Craft Commerce-centric podcast that goes behind the scenes to chat with ecommerce merchants, developers, and vendors."}]}, {"name": "Dev Tools", "parent": "Resources", "entries": [{"name": "Craft CLI", "url": "https://github.com/rsanchez/craft-cli", "description": "Command line interface for Craft CMS 2.", "stars": "139"}, {"name": "Craft CMS Bootstrap", "url": "https://github.com/timkelty/craftcms-bootstrap", "description": "Streamline Craft CMS bootstrapping and configuration.", "stars": "4"}, {"name": "Craft CMS Docker", "url": "https://github.com/atillay/craftcms3-docker", "description": "Get started playing with Craft CMS 3 in a few command lines with Docker.", "stars": "36"}, {"name": "Craft 3 Multi-environment", "url": "https://github.com/nystudio107/craft3-multi-environment", "description": "[Craft 2 Version (\u2b5083)](https://github.com/nystudio107/craft-multi-environment) - Efficient and flexible multi-environment config for Craft CMS.", "stars": "72"}, {"name": "Craft Scripts", "url": "https://github.com/nystudio107/craft-scripts", "description": "Shell scripts to manage common tasks between Craft CMS environments.", "stars": "359"}, {"name": "Craftman", "url": "https://github.com/gabrielmoreira/craftman", "description": "To help speed set up and start a new Craft CMS installation smoothly.", "stars": "125"}, {"name": "Crafty Vagrant", "url": "https://github.com/niceandserious/crafty-vagrant", "description": "A boilerplate dev environment for jump-starting Craft CMS projects.", "stars": "57"}, {"name": "Generator Craft Install", "url": "https://github.com/nystudio107/generator-craftinstall", "description": "Yeoman generator for Craft CMS installs.", "stars": "56"}, {"name": "Happy Lager Demo Site", "url": "https://github.com/timkelty/HappyLager/tree/neutrino", "description": "A fork of the Craft CMS demo site, updated for Craft 3.", "stars": "8"}, {"name": "Nginx Craft", "url": "https://github.com/nystudio107/nginx-craft", "description": "An Nginx virtual host configuration for Craft CMS that implements a number of best-practices.", "stars": "299"}, {"name": "Plugin Factory", "url": "https://pluginfactory.io/", "description": "Generate Craft CMS plugin code scaffolding that conforms to P\\&T\u2019s Coding Standards."}]}, {"name": "Official Case Studies", "parent": "Showcase", "entries": [{"name": "% Arabica", "url": "https://craftcms.com/in-the-field/arabica", "description": "Project: [arabicacoffee.hk](https://arabicacoffee.hk/) by [Digital Butter](https://www.butter.com.hk/)"}, {"name": "Associated Press", "url": "https://craftcms.com/in-the-field/associated-press", "description": "Project: [blog.ap.org](https://blog.ap.org) + [insights.ap.org](https://insights.ap.org) by [Vector Media Group](https://www.vectormediagroup.com/)"}, {"name": "Barefoot Contessa", "url": "https://craftcms.com/in-the-field/barefoot-contessa", "description": "Project: [barefootcontessa.com](https://barefootcontessa.com) by [Apartment One](https://aptone.com/) & [Jonathan Melville](https://codemdd.io/)"}, {"name": "Grill'd", "url": "https://craftcms.com/in-the-field/grilld", "description": "Project: [grilld.com.au](https://www.grilld.com.au/) by [Evolution 7](https://www.evolution7.com.au/)"}, {"name": "iDE Global", "url": "https://craftcms.com/in-the-field/ide-global", "description": "Project: [ideglobal.org](https://ideglobal.org) by [Flipbox Digital](https://www.flipboxdigital.com/)"}, {"name": "Kappa Alpha Theta Fraternity", "url": "https://craftcms.com/in-the-field/kappa-alpha-theta-fraternity", "description": "Project: [kappaalphatheta.org](https://www.kappaalphatheta.org/) by [TrendyMinds](https://trendyminds.com/)"}, {"name": "McKinnon and Harris", "url": "https://craftcms.com/in-the-field/mckinnon-and-harris", "description": "Project: [mckinnonharris.com](https://www.mckinnonharris.com) by [Foster Made](https://fostermade.co)"}, {"name": "Mixmag Media", "url": "https://craftcms.com/in-the-field/mixmag", "description": "Project: [mixmag.net](http://mixmag.net) by [The Rye Agency](http://rye.agency)"}, {"name": "Poki", "url": "https://craftcms.com/in-the-field/poki", "description": "Project: [poki.com](https://poki.com/) by Evermade"}, {"name": "Samuelsohn", "url": "https://craftcms.com/in-the-field/samuelsohn", "description": "Project: [samuelsohn.com](http://samuelsohn.com) by [Digital Surgeons](http://digitalsurgeons.com/)"}, {"name": "Segway", "url": "https://craftcms.com/in-the-field/segway", "description": "Project: [uk-en.segway.com](https://uk-en.segway.com/) by Wirelab Digital Agency"}, {"name": "Simon Fraser University (SFU) Beedie School of Business", "url": "https://craftcms.com/in-the-field/simon-fraser-university-sfu-beedie-school-of-business", "description": "Project: [beedie.sfu.ca](https://beedie.sfu.ca/) by Goat"}, {"name": "Ultimate.ai", "url": "https://craftcms.com/in-the-field/ultimate-ai", "description": "Project: [ultimate.ai](https://www.ultimate.ai/) by Function & Form Digital"}, {"name": "YumEarth", "url": "https://craftcms.com/in-the-field/yumearth", "description": "Project: [yumearth.com](https://yumearth.com) by Electric Enjin"}]}, {"name": "Organizations Using Craft", "parent": "Showcase", "entries": [{"name": "Agatha Christie", "url": "http://www.agathachristie.com", "description": ""}, {"name": "An Event Apart", "url": "http://aneventapart.com", "description": ""}, {"name": "Associated Press: Blog", "url": "https://blog.ap.org", "description": "Plus the [Insights](https://insights.ap.org) website."}, {"name": "Atkins", "url": "http://www.atkins.com", "description": ""}, {"name": "Atlassian: Design", "url": "https://atlassian.design", "description": ""}, {"name": "Betterteam", "url": "https://www.betterteam.com/", "description": ""}, {"name": "BigCommerce", "url": "https://www.bigcommerce.com", "description": ""}, {"name": "Bill Nye", "url": "https://www.billnye.com/", "description": ""}, {"name": "Canary Media", "url": "https://www.canarymedia.com/", "description": ""}, {"name": "City of Marion, IN", "url": "https://cityofmarion.in.gov/", "description": ""}, {"name": "City of Oakland", "url": "https://www.oaklandca.gov/", "description": ""}, {"name": "Confab Events", "url": "http://confabevents.com", "description": ""}, {"name": "Dalai Lama", "url": "https://www.dalailama.com", "description": ""}, {"name": "Dialpad", "url": "https://www.dialpad.com/", "description": ""}, {"name": "Duck Brand", "url": "http://www.duckbrand.com", "description": ""}, {"name": "Emily Carr University", "url": "http://www.ecuad.ca", "description": ""}, {"name": "Field Notes", "url": "https://fieldnotesbrand.com", "description": "Uses [Craft Commerce](https://craftcommerce.com)."}, {"name": "Foursquare for Business", "url": "http://business.foursquare.com", "description": ""}, {"name": "Grill'd", "url": "https://www.grilld.com.au/", "description": ""}, {"name": "Guy Fieri", "url": "http://www.guyfieri.com/", "description": ""}, {"name": "Hootsuite", "url": "https://hootsuite.com", "description": ""}, {"name": "Icon Motorsports", "url": "http://www.rideicon.com", "description": ""}, {"name": "iDE Global", "url": "https://ideglobal.org", "description": ""}, {"name": "Intel: Managed Service Providers", "url": "http://msp.intel.com", "description": ""}, {"name": "Klipsch", "url": "http://www.klipsch.com", "description": ""}, {"name": "LA Marathon", "url": "http://lamarathon.com", "description": ""}, {"name": "Layer Tennis", "url": "http://www.layertennis.com", "description": "A [Coudal Partners](http://coudal.com/) production sponsored by [Adobe](https://www.adobe.com/)."}, {"name": "Medialoot", "url": "https://medialoot.com", "description": ""}, {"name": "Mini: Miles Ahead", "url": "http://www.bemilesahead.net/", "description": ""}, {"name": "Mixmag Media", "url": "http://mixmag.net", "description": ""}, {"name": "NameSnack", "url": "https://www.namesnack.com/", "description": ""}, {"name": "Naughty Dog", "url": "https://www.naughtydog.com/", "description": ""}, {"name": "Naviance", "url": "http://www.naviance.com", "description": ""}, {"name": "Netflix: Media Center", "url": "https://media.netflix.com", "description": ""}, {"name": "Nissin Foods", "url": "http://nissinfoods.com/", "description": ""}, {"name": "OneSignal", "url": "https://onesignal.com", "description": ""}, {"name": "Outreach", "url": "https://www.outreach.io", "description": ""}, {"name": "PBS Kids Games", "url": "https://itunes.apple.com/us/app/pbs-kids-games/id1050773989", "description": "Craft powers the APIs used for the app."}, {"name": "PBS Parents", "url": "http://www.pbs.org/parents/child-development/social-emotional", "description": ""}, {"name": "Pingdom", "url": "https://www.pingdom.com", "description": ""}, {"name": "Princeton Theological Seminary", "url": "http://ptsem.edu", "description": ""}, {"name": "ProPublica", "url": "https://www.propublica.org", "description": ""}, {"name": "Reddit Inc.", "url": "https://www.redditinc.com/", "description": ""}, {"name": "SalesforceIQ", "url": "https://www.salesforceiq.com", "description": ""}, {"name": "Samuelsohn", "url": "http://samuelsohn.com", "description": ""}, {"name": "Sonos", "url": "https://www.sonos.com", "description": ""}, {"name": "Stanford Research Park", "url": "http://www.stanfordresearchpark.com", "description": ""}, {"name": "Stearns & Foster", "url": "http://www.stearnsandfoster.com", "description": ""}, {"name": "Visit Victoria: Corporate", "url": "https://corporate.visitvictoria.com", "description": ""}, {"name": "Wildbit", "url": "https://wildbit.com", "description": ""}, {"name": "Yale Environment 360", "url": "http://e360.yale.edu", "description": ""}]}], "name": ""}