{"id":32613,"date":"2024-11-01T09:10:20","date_gmt":"2024-11-01T09:10:20","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=32613"},"modified":"2024-11-01T11:54:36","modified_gmt":"2024-11-01T11:54:36","slug":"flutter-course-7-6-crossaxisalignment-property-and-align-widget","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/32613\/","title":{"rendered":"Flutter Course: 7.6 crossAxisAlignment Property and Align Widget"},"content":{"rendered":"<p>\n    In this course, we will delve deeply into the <strong>crossAxisAlignment<\/strong> property and the <strong>Align<\/strong> widget, which play a crucial role in Flutter&#8217;s layout composition. To fully leverage the strengths of Flutter on Android and iOS platforms when building user interfaces (UIs), it is essential to clearly understand layout directionality and alignment issues.\n<\/p>\n<h2>1. Understanding Layout in Flutter<\/h2>\n<p>\n    Flutter is a widget-based framework where everything consists of widgets. Layouts are constructed by combining multiple widgets, and the alignment and arrangement of these widgets are very important. In Flutter&#8217;s layout system, axes are defined to determine the alignment of layout components. The concepts of main axis and cross axis are significant: the main axis is the direction in which widgets are primarily arranged, while the cross axis is the direction perpendicular to that.\n<\/p>\n<h2>2. The crossAxisAlignment Property<\/h2>\n<p>\n    The <code>crossAxisAlignment<\/code> property is used in Flex widgets like <strong>Row<\/strong> or <strong>Column<\/strong> to specify the alignment of components along the cross axis. There are several values, and each value changes how the components are aligned.\n<\/p>\n<h3>2.1. Key Values of crossAxisAlignment<\/h3>\n<ul>\n<li><code>CrossAxisAlignment.start<\/code>: Aligns at the starting point of the cross axis.<\/li>\n<li><code>CrossAxisAlignment.end<\/code>: Aligns at the ending point of the cross axis.<\/li>\n<li><code>CrossAxisAlignment.center<\/code>: Aligns at the center of the cross axis.<\/li>\n<li><code>CrossAxisAlignment.stretch<\/code>: Stretches to fill the cross axis direction according to the main axis length.<\/li>\n<li><code>CrossAxisAlignment.baseline<\/code>: Aligns based on the baseline of the main axis.<\/li>\n<\/ul>\n<h3>2.2. Example of Using crossAxisAlignment<\/h3>\n<pre><code>import 'package:flutter\/material.dart';\n\nclass CrossAxisAlignmentExample extends StatelessWidget {\n    @override\n    Widget build(BuildContext context) {\n        return Scaffold(\n            appBar: AppBar(title: Text('Example of crossAxisAlignment')),\n            body: Column(\n                crossAxisAlignment: CrossAxisAlignment.center,\n                children: [\n                    Container(height: 50, width: 100, color: Colors.red),\n                    Container(height: 100, width: 50, color: Colors.blue),\n                    Container(height: 75, width: 200, color: Colors.green),\n                ],\n            ),\n        );\n    }\n}\n\nvoid main() =&gt; runApp(MaterialApp(home: CrossAxisAlignmentExample()));<\/code><\/pre>\n<p>\n    In the example above, the <code>crossAxisAlignment<\/code> property of the <code>Column<\/code> widget is set to <code>CrossAxisAlignment.center<\/code>. In this case, the three <code>Container<\/code> widgets are aligned at the center of the cross axis.\n<\/p>\n<h2>3. The Align Widget<\/h2>\n<p>\n    The <strong>Align<\/strong> widget is used to specify the position of a widget. It is primarily used as a child of other widgets and provides the functionality to adjust the position of the child in the cross axis direction. The <code>alignment<\/code> property of the <code>Align<\/code> widget offers various ways to set the position of the widget.\n<\/p>\n<h3>3.1. alignment Property of the Align Widget<\/h3>\n<ul>\n<li><code>Alignment.topLeft<\/code>: Top-left corner<\/li>\n<li><code>Alignment.topCenter<\/code>: Top center<\/li>\n<li><code>Alignment.topRight<\/code>: Top-right corner<\/li>\n<li><code>Alignment.centerLeft<\/code>: Center-left<\/li>\n<li><code>Alignment.center<\/code>: Center<\/li>\n<li><code>Alignment.centerRight<\/code>: Center-right<\/li>\n<li><code>Alignment.bottomLeft<\/code>: Bottom-left corner<\/li>\n<li><code>Alignment.bottomCenter<\/code>: Bottom center<\/li>\n<li><code>Alignment.bottomRight<\/code>: Bottom-right corner<\/li>\n<\/ul>\n<h3>3.2. Example of Using Align<\/h3>\n<pre><code>import 'package:flutter\/material.dart';\n\nclass AlignExample extends StatelessWidget {\n    @override\n    Widget build(BuildContext context) {\n        return Scaffold(\n            appBar: AppBar(title: Text('Example of Align Widget')),\n            body: Container(\n                height: 200,\n                width: 200,\n                color: Colors.grey[300],\n                child: Align(\n                    alignment: Alignment.bottomRight,\n                    child: Container(\n                        height: 50,\n                        width: 50,\n                        color: Colors.red,\n                    ),\n                ),\n            ),\n        );\n    }\n}\n\nvoid main() =&gt; runApp(MaterialApp(home: AlignExample()));<\/code><\/pre>\n<p>\n    In the example above, the child widget of the <code>Container<\/code> is aligned to the bottom right through the <code>Align<\/code> widget. This allows the <code>Align<\/code> widget to precisely position a widget in a specific location.\n<\/p>\n<h2>4. Combining crossAxisAlignment and Align<\/h2>\n<p>\n    By combining the <code>crossAxisAlignment<\/code> and <code>Align<\/code> widgets, more flexible layouts can be implemented. For example, you can align each child element in the cross axis within a <code>Row<\/code> widget and use the <code>Align<\/code> widget to adjust positioning.\n<\/p>\n<pre><code>import 'package:flutter\/material.dart';\n\nclass CombinedExample extends StatelessWidget {\n    @override\n    Widget build(BuildContext context) {\n        return Scaffold(\n            appBar: AppBar(title: Text('Example of crossAxisAlignment and Align')),\n            body: Row(\n                crossAxisAlignment: CrossAxisAlignment.end,\n                children: [\n                    Align(\n                        alignment: Alignment.centerLeft,\n                        child: Container(height: 50, width: 50, color: Colors.red),\n                    ),\n                    Align(\n                        alignment: Alignment.center,\n                        child: Container(height: 75, width: 50, color: Colors.blue),\n                    ),\n                    Align(\n                        alignment: Alignment.centerRight,\n                        child: Container(height: 100, width: 50, color: Colors.green),\n                    ),\n                ],\n            ),\n        );\n    }\n}\n\nvoid main() =&gt; runApp(MaterialApp(home: CombinedExample()));<\/code><\/pre>\n<p>\n    In the above example, the <code>crossAxisAlignment<\/code> of the <code>Row<\/code> widget is set to <code>CrossAxisAlignment.end<\/code>, and each <code>Container<\/code> is individually aligned through the <code>Align<\/code> widget. This helps in easily constructing complex layouts.\n<\/p>\n<h2>5. Performance Optimization and Layout Effect Analysis<\/h2>\n<p>\n    When using the <code>crossAxisAlignment<\/code> property and the <code>Align<\/code> widget, it is also important to optimize performance. You can improve rendering performance by avoiding unnecessary widget tree nesting and removing unused widgets. This can enhance the performance of Flutter applications while also improving the user experience.\n<\/p>\n<h2>6. Summary<\/h2>\n<p>\n    In this course, we conducted an in-depth analysis of the <code>crossAxisAlignment<\/code> property and the <code>Align<\/code> widget in Flutter. By appropriately combining these two elements when constructing layouts, you can create a very flexible and powerful user interface. When designing layouts, apply the alignment and positioning in the cross axis effectively to greatly improve your app&#8217;s UI\/UX while being mindful of performance for efficient app development.\n<\/p>\n<p>\n    As we conclude the course, I hope you will learn and apply more about advanced layout compositions. Wishing you to enjoy the charm of app development with Flutter.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this course, we will delve deeply into the crossAxisAlignment property and the Align widget, which play a crucial role in Flutter&#8217;s layout composition. To fully leverage the strengths of Flutter on Android and iOS platforms when building user interfaces (UIs), it is essential to clearly understand layout directionality and alignment issues. 1. Understanding Layout &hellip; <a href=\"https:\/\/atmokpo.com\/w\/32613\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Flutter Course: 7.6 crossAxisAlignment Property and Align Widget&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[151],"tags":[],"class_list":["post-32613","post","type-post","status-publish","format-standard","hentry","category-flutter-course"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Flutter Course: 7.6 crossAxisAlignment Property and Align Widget - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/atmokpo.com\/w\/32613\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Flutter Course: 7.6 crossAxisAlignment Property and Align Widget - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"In this course, we will delve deeply into the crossAxisAlignment property and the Align widget, which play a crucial role in Flutter&#8217;s layout composition. To fully leverage the strengths of Flutter on Android and iOS platforms when building user interfaces (UIs), it is essential to clearly understand layout directionality and alignment issues. 1. Understanding Layout &hellip; \ub354 \ubcf4\uae30 &quot;Flutter Course: 7.6 crossAxisAlignment Property and Align Widget&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/32613\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:10:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:54:36+00:00\" \/>\n<meta name=\"author\" content=\"root\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:site\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"root\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"4\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/32613\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/32613\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Flutter Course: 7.6 crossAxisAlignment Property and Align Widget\",\"datePublished\":\"2024-11-01T09:10:20+00:00\",\"dateModified\":\"2024-11-01T11:54:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/32613\/\"},\"wordCount\":577,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Flutter course\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/32613\/\",\"url\":\"https:\/\/atmokpo.com\/w\/32613\/\",\"name\":\"Flutter Course: 7.6 crossAxisAlignment Property and Align Widget - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:10:20+00:00\",\"dateModified\":\"2024-11-01T11:54:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/32613\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/32613\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/32613\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Flutter Course: 7.6 crossAxisAlignment Property and Align Widget\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/atmokpo.com\/w\/#website\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/atmokpo.com\/w\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"contentUrl\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"width\":400,\"height\":400,\"caption\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\"},\"image\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/bebubo4\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\",\"name\":\"root\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"caption\":\"root\"},\"sameAs\":[\"http:\/\/atmokpo.com\/w\"],\"url\":\"https:\/\/atmokpo.com\/w\/author\/root\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Flutter Course: 7.6 crossAxisAlignment Property and Align Widget - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/atmokpo.com\/w\/32613\/","og_locale":"ko_KR","og_type":"article","og_title":"Flutter Course: 7.6 crossAxisAlignment Property and Align Widget - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"In this course, we will delve deeply into the crossAxisAlignment property and the Align widget, which play a crucial role in Flutter&#8217;s layout composition. To fully leverage the strengths of Flutter on Android and iOS platforms when building user interfaces (UIs), it is essential to clearly understand layout directionality and alignment issues. 1. Understanding Layout &hellip; \ub354 \ubcf4\uae30 \"Flutter Course: 7.6 crossAxisAlignment Property and Align Widget\"","og_url":"https:\/\/atmokpo.com\/w\/32613\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:10:20+00:00","article_modified_time":"2024-11-01T11:54:36+00:00","author":"root","twitter_card":"summary_large_image","twitter_creator":"@bebubo4","twitter_site":"@bebubo4","twitter_misc":{"\uae00\uc4f4\uc774":"root","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"4\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/32613\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/32613\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Flutter Course: 7.6 crossAxisAlignment Property and Align Widget","datePublished":"2024-11-01T09:10:20+00:00","dateModified":"2024-11-01T11:54:36+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/32613\/"},"wordCount":577,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Flutter course"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/32613\/","url":"https:\/\/atmokpo.com\/w\/32613\/","name":"Flutter Course: 7.6 crossAxisAlignment Property and Align Widget - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:10:20+00:00","dateModified":"2024-11-01T11:54:36+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/32613\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/32613\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/32613\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Flutter Course: 7.6 crossAxisAlignment Property and Align Widget"}]},{"@type":"WebSite","@id":"https:\/\/atmokpo.com\/w\/#website","url":"https:\/\/atmokpo.com\/w\/","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","description":"","publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/atmokpo.com\/w\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/atmokpo.com\/w\/#organization","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","url":"https:\/\/atmokpo.com\/w\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/","url":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","contentUrl":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","width":400,"height":400,"caption":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8"},"image":{"@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/bebubo4"]},{"@type":"Person","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7","name":"root","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","caption":"root"},"sameAs":["http:\/\/atmokpo.com\/w"],"url":"https:\/\/atmokpo.com\/w\/author\/root\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/32613","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/comments?post=32613"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/32613\/revisions"}],"predecessor-version":[{"id":32614,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/32613\/revisions\/32614"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=32613"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=32613"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=32613"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}