├── .gitignore ├── .nova └── Configuration.json ├── README.md ├── app.vue ├── assets ├── fonts │ ├── IBMPlexMono-Regular.ttf │ ├── Inter-ExtraBold.eot │ ├── Inter-ExtraBold.svg │ ├── Inter-ExtraBold.ttf │ ├── Inter-ExtraBold.woff │ ├── Inter-ExtraBold.woff2 │ ├── Inter-Regular.eot │ ├── Inter-Regular.svg │ ├── Inter-Regular.ttf │ ├── Inter-Regular.woff │ └── Inter-Regular.woff2 ├── images │ ├── brad-siefert-photo.jpg │ ├── confetti.png │ ├── favicons │ │ ├── Automators.png │ │ ├── Bradsiefert.png │ │ ├── CultofMac.png │ │ ├── Github.png │ │ ├── JordanMerrick.png │ │ ├── MacSparky.jpg │ │ ├── Macrumors.png │ │ ├── Macstories.png │ │ ├── Medium.png │ │ ├── MikeBeasley.png │ │ ├── Reddit.png │ │ ├── RosemaryOrchard.png │ │ ├── RoutineHub.png │ │ ├── SCPL.png │ │ ├── ShareShortcuts.png │ │ ├── Sharecuts.png │ │ ├── Shortcasts.png │ │ ├── ShortcutHub.png │ │ ├── Shortcutor.png │ │ ├── ShortcutsGallery.png │ │ ├── ShortcutsJS.png │ │ ├── ShortcutsWeb.png │ │ ├── ShortcutsbyApple256.png │ │ ├── Showcuts.png │ │ ├── SiriCuts.png │ │ ├── SixColors.png │ │ ├── TheSweetSetup.png │ │ ├── TheUntitledSite.png │ │ ├── TheVerge.png │ │ ├── Wikipedia.png │ │ ├── discord.jpg │ │ ├── iosshortcut.png │ │ ├── relayfm.png │ │ ├── siri-shortcuts.de.png │ │ ├── slack.png │ │ ├── takecontrolbooks.png │ │ ├── techcrunch.png │ │ ├── telegram.png │ │ ├── twitter.jpg │ │ └── workflow.png │ ├── link-default-avatar.png │ ├── logo.svg │ └── max-tweet.jpg └── scss │ ├── fontfaces.css │ ├── styles.scss │ └── variables.scss ├── nuxt.config.ts ├── package-lock.json ├── package.json ├── public ├── favicon.ico ├── robots.txt └── sharingtile.jpg ├── server └── tsconfig.json ├── src ├── .temp │ ├── config.js │ ├── constants.js │ ├── icons.js │ ├── now.js │ ├── plugins-client.js │ ├── plugins-server.js │ └── routes.js ├── components │ ├── Collections.vue │ ├── HeroBody.vue │ ├── Link.vue │ └── LinkApp.vue ├── favicon.png ├── layouts │ └── Default.vue ├── main.js └── pages │ ├── 404.vue │ ├── About.vue │ ├── Communities.vue │ ├── Enthusiastcreators.vue │ ├── Extensionapps.vue │ ├── Gallerysites.vue │ ├── History.vue │ ├── Index.vue │ ├── International.vue │ ├── Newsandblogs.vue │ ├── Podcasts.vue │ ├── Powertools.vue │ ├── README.md │ ├── Submitalink.vue │ ├── Success.vue │ └── Training.vue └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | # Nuxt dev/build outputs 2 | .output 3 | .data 4 | .nuxt 5 | .nitro 6 | .cache 7 | dist 8 | 9 | # Node dependencies 10 | node_modules 11 | 12 | # Logs 13 | logs 14 | *.log 15 | 16 | # Misc 17 | .DS_Store 18 | .fleet 19 | .idea 20 | 21 | # Local env files 22 | .env 23 | .env.* 24 | !.env.example 25 | -------------------------------------------------------------------------------- /.nova/Configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "tommasonegri.vue.serverRunning" : true 3 | } 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Shortcuts Directory Setup Instructions 2 | This is the site I built to showcase curated collections of links about Apple Shortcuts app. It originally used Gridsome, but it was abandoned so I created a simple archive page pointing to my Airtable database. 3 | 4 | --- 5 | 6 | ## Setup the site locally 7 | Make sure to install the dependencies: 8 | 9 | 1. Clone the site's repository 10 | 2. In your terminal app, install the site's dependancies. (I use npm as my package manger to manage dependancies.): 11 | ```bash 12 | npm install 13 | ``` 14 | 3. In your terminal app, start the development server 15 | ```bash 16 | npm run dev 17 | ``` 18 | This will on start the local development server at: http://localhost:3000 19 | 20 | 4. Navigate to the local development server in your web browser and confirm the site is running locally. 21 | 22 | ## Dealing with the production/live site 23 | The website is hosted at [Netlify](https://netlify.com) and has continuous integration setup with the Github repository. Anytime a change is pushed to a branch, the site is rebuilt and published on Netlify. 24 | 25 | If the change is pushed to the `master` branch, it will immediate go live to the internet at photos.bradsiefert.com. If the change is pushed to any other branch, the change will create a Deploy Preview in Netlify where the changes can be reviewed. The changes on that branch must be merged into the `master` branch for them to be built and to go live on the production site (photos.bradsiefert.com). 26 | 27 | ## Nuxt 3 production build options 28 | Nuxt has a these options for building or previewing the site. 29 | 30 | Locally preview production build: 31 | 32 | ```bash 33 | npm run preview 34 | ``` 35 | 36 | Build the application for production: 37 | 38 | ```bash 39 | npm run build 40 | ``` -------------------------------------------------------------------------------- /app.vue: -------------------------------------------------------------------------------- 1 | 64 | -------------------------------------------------------------------------------- /assets/fonts/IBMPlexMono-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/fonts/IBMPlexMono-Regular.ttf -------------------------------------------------------------------------------- /assets/fonts/Inter-ExtraBold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/fonts/Inter-ExtraBold.eot -------------------------------------------------------------------------------- /assets/fonts/Inter-ExtraBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/fonts/Inter-ExtraBold.ttf -------------------------------------------------------------------------------- /assets/fonts/Inter-ExtraBold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/fonts/Inter-ExtraBold.woff -------------------------------------------------------------------------------- /assets/fonts/Inter-ExtraBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/fonts/Inter-ExtraBold.woff2 -------------------------------------------------------------------------------- /assets/fonts/Inter-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/fonts/Inter-Regular.eot -------------------------------------------------------------------------------- /assets/fonts/Inter-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/fonts/Inter-Regular.ttf -------------------------------------------------------------------------------- /assets/fonts/Inter-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/fonts/Inter-Regular.woff -------------------------------------------------------------------------------- /assets/fonts/Inter-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/fonts/Inter-Regular.woff2 -------------------------------------------------------------------------------- /assets/images/brad-siefert-photo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/brad-siefert-photo.jpg -------------------------------------------------------------------------------- /assets/images/confetti.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/confetti.png -------------------------------------------------------------------------------- /assets/images/favicons/Automators.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/Automators.png -------------------------------------------------------------------------------- /assets/images/favicons/Bradsiefert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/Bradsiefert.png -------------------------------------------------------------------------------- /assets/images/favicons/CultofMac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/CultofMac.png -------------------------------------------------------------------------------- /assets/images/favicons/Github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/Github.png -------------------------------------------------------------------------------- /assets/images/favicons/JordanMerrick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/JordanMerrick.png -------------------------------------------------------------------------------- /assets/images/favicons/MacSparky.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/MacSparky.jpg -------------------------------------------------------------------------------- /assets/images/favicons/Macrumors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/Macrumors.png -------------------------------------------------------------------------------- /assets/images/favicons/Macstories.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/Macstories.png -------------------------------------------------------------------------------- /assets/images/favicons/Medium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/Medium.png -------------------------------------------------------------------------------- /assets/images/favicons/MikeBeasley.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/MikeBeasley.png -------------------------------------------------------------------------------- /assets/images/favicons/Reddit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/Reddit.png -------------------------------------------------------------------------------- /assets/images/favicons/RosemaryOrchard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/RosemaryOrchard.png -------------------------------------------------------------------------------- /assets/images/favicons/RoutineHub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/RoutineHub.png -------------------------------------------------------------------------------- /assets/images/favicons/SCPL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/SCPL.png -------------------------------------------------------------------------------- /assets/images/favicons/ShareShortcuts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/ShareShortcuts.png -------------------------------------------------------------------------------- /assets/images/favicons/Sharecuts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/Sharecuts.png -------------------------------------------------------------------------------- /assets/images/favicons/Shortcasts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/Shortcasts.png -------------------------------------------------------------------------------- /assets/images/favicons/ShortcutHub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/ShortcutHub.png -------------------------------------------------------------------------------- /assets/images/favicons/Shortcutor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/Shortcutor.png -------------------------------------------------------------------------------- /assets/images/favicons/ShortcutsGallery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/ShortcutsGallery.png -------------------------------------------------------------------------------- /assets/images/favicons/ShortcutsJS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/ShortcutsJS.png -------------------------------------------------------------------------------- /assets/images/favicons/ShortcutsWeb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/ShortcutsWeb.png -------------------------------------------------------------------------------- /assets/images/favicons/ShortcutsbyApple256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/ShortcutsbyApple256.png -------------------------------------------------------------------------------- /assets/images/favicons/Showcuts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/Showcuts.png -------------------------------------------------------------------------------- /assets/images/favicons/SiriCuts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/SiriCuts.png -------------------------------------------------------------------------------- /assets/images/favicons/SixColors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/SixColors.png -------------------------------------------------------------------------------- /assets/images/favicons/TheSweetSetup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/TheSweetSetup.png -------------------------------------------------------------------------------- /assets/images/favicons/TheUntitledSite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/TheUntitledSite.png -------------------------------------------------------------------------------- /assets/images/favicons/TheVerge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/TheVerge.png -------------------------------------------------------------------------------- /assets/images/favicons/Wikipedia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/Wikipedia.png -------------------------------------------------------------------------------- /assets/images/favicons/discord.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/discord.jpg -------------------------------------------------------------------------------- /assets/images/favicons/iosshortcut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/iosshortcut.png -------------------------------------------------------------------------------- /assets/images/favicons/relayfm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/relayfm.png -------------------------------------------------------------------------------- /assets/images/favicons/siri-shortcuts.de.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/siri-shortcuts.de.png -------------------------------------------------------------------------------- /assets/images/favicons/slack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/slack.png -------------------------------------------------------------------------------- /assets/images/favicons/takecontrolbooks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/takecontrolbooks.png -------------------------------------------------------------------------------- /assets/images/favicons/techcrunch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/techcrunch.png -------------------------------------------------------------------------------- /assets/images/favicons/telegram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/telegram.png -------------------------------------------------------------------------------- /assets/images/favicons/twitter.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/twitter.jpg -------------------------------------------------------------------------------- /assets/images/favicons/workflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/favicons/workflow.png -------------------------------------------------------------------------------- /assets/images/link-default-avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/link-default-avatar.png -------------------------------------------------------------------------------- /assets/images/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | logo 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 67 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /assets/images/max-tweet.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/assets/images/max-tweet.jpg -------------------------------------------------------------------------------- /assets/scss/fontfaces.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Inter'; 3 | src: url('../fonts/Inter-Regular.eot'); 4 | src: url('../fonts/Inter-Regular.eot?#iefix') format('embedded-opentype'), 5 | url('../fonts/Inter-Regular.woff2') format('woff2'), 6 | url('../fonts/Inter-Regular.woff') format('woff'), 7 | url('../fonts/Inter-Regular.ttf') format('truetype'); 8 | font-weight: 400; 9 | font-style: normal; 10 | font-display: swap; 11 | } 12 | 13 | @font-face { 14 | font-family: 'Inter'; 15 | src: url('../fonts/Inter-ExtraBold.eot'); 16 | src: url('../fonts/Inter-ExtraBold.eot?#iefix') format('embedded-opentype'), 17 | url('../fonts/Inter-ExtraBold.woff2') format('woff2'), 18 | url('../fonts/Inter-ExtraBold.woff') format('woff'), 19 | url('../fonts/Inter-ExtraBold.ttf') format('truetype'); 20 | font-weight: 800; 21 | font-style: normal; 22 | font-display: swap; 23 | } 24 | 25 | @font-face { 26 | font-family: 'IBM Plex Mono'; 27 | src: url('../fonts/IBMPlexMono-Regular.eot'); 28 | src: url('../fonts/IBMPlexMono-Regular.eot?#iefix') format('embedded-opentype'), 29 | url('../fonts/IBMPlexMono-Regular.woff2') format('woff2'), 30 | url('../fonts/IBMPlexMono-Regular.woff') format('woff'), 31 | url('../fonts/IBMPlexMono-Regular.ttf') format('truetype'); 32 | font-weight: 400; 33 | font-style: normal; 34 | font-display: swap; 35 | } -------------------------------------------------------------------------------- /assets/scss/styles.scss: -------------------------------------------------------------------------------- 1 | @import "fontfaces.css"; 2 | @import "variables.scss"; 3 | @import "bulma"; 4 | 5 | /* All this is to make the footer sticky to the bottom.*/ 6 | html, body, #__nuxt { min-height: 100vh; } 7 | body, #__nuxt { display: flex; flex-direction: column; } 8 | main { flex: 1 0 auto; } 9 | .footer { flex-shrink: 0; } 10 | 11 | html, body { background-color: #fff; } 12 | 13 | a, footer a { 14 | color: darken($purple, 12%); 15 | text-decoration: underline; 16 | } 17 | 18 | a:hover, footer a:hover { 19 | color: darken($purple, 48%); 20 | text-decoration: underline; 21 | } 22 | 23 | // Buttons 24 | .button { 25 | font-weight: 700; 26 | font-family: $family-code; 27 | } 28 | 29 | // Containers 30 | .skinny { 31 | max-width: 60rem !important; 32 | } 33 | 34 | .super-skinny { 35 | max-width: 48rem !important; 36 | } 37 | 38 | .tiny { 39 | max-width: 32rem !important; 40 | } 41 | 42 | // Footer 43 | footer { 44 | background-color: #F5F5FF; 45 | box-shadow: inset 0 1px 0 0 #BBB9FF; 46 | font-family: $family-code; 47 | color: darken($purple, 4%); 48 | margin-top: 2rem; 49 | padding: 1rem; 50 | } 51 | 52 | // UI 53 | .section { 54 | padding: 1rem 1.5rem; 55 | } 56 | 57 | .ph { 58 | position: fixed; 59 | bottom: 32px; 60 | right: 16px; 61 | width: 192px; 62 | z-index: 99; 63 | } 64 | 65 | @media (max-width: 1024px) { 66 | .ph { 67 | position: static; 68 | text-align: center; 69 | width: 224px; 70 | margin-left: auto; 71 | margin-right: auto; 72 | margin-top: 24px; 73 | margin-bottom: -24px; 74 | } 75 | } 76 | 77 | // Link Boxes 78 | .box { 79 | background-image: linear-gradient(180deg, #F5F5FF 0%, #FFFFFF 100%); 80 | border: 1px solid #BBB9FF; 81 | border-radius: 8px; 82 | min-height: 192px; 83 | } 84 | 85 | @media (max-width: 769px) { 86 | .box { 87 | min-height: 0; 88 | } 89 | } 90 | 91 | .box.link .media { 92 | display: flex; 93 | align-items: center; 94 | justify-content: center; 95 | } 96 | 97 | .box.link { 98 | position: relative; 99 | } 100 | 101 | .box.link .media-left { 102 | margin-right: 0.75rem; 103 | } 104 | 105 | .box.link .media-content .title { 106 | font-weight: 800; 107 | } 108 | 109 | .box.link img { 110 | border-radius: 0.75rem; 111 | } 112 | 113 | .link-status { 114 | position: absolute; 115 | top: 0; 116 | right: 0; 117 | font-family: $family-monospace, monospace; 118 | font-weight: 600; 119 | font-size: 0.5625rem; 120 | line-height: 0.6875rem; 121 | color: $purple; 122 | text-align: center; 123 | text-transform: uppercase; 124 | background-color: #eae4fe; 125 | padding: 0.125rem 0.625rem 0.1875rem 0.6875rem; 126 | border-radius: 0 7px 0 5px; 127 | } 128 | 129 | .link-status.retired { 130 | color: $pink; 131 | background-color: lighten($pink,20%); 132 | } 133 | 134 | .link-status.out-of-date { 135 | color: $cyan; 136 | background-color: lighten($cyan,28%); 137 | } 138 | 139 | .link-developer { 140 | font-family: $family-code; 141 | font-weight: bold; 142 | font-size: $size-9; 143 | margin-bottom: 0.5rem; 144 | color: $black; 145 | } 146 | 147 | .link-description { 148 | font-size: 0.875rem; 149 | line-height: 1.4; 150 | color: $grey; 151 | letter-spacing: -0.05px; 152 | margin-bottom: 1.25rem; 153 | } 154 | 155 | @media (min-width: 768px) { 156 | .link-description { 157 | min-height: 56px; 158 | display: -webkit-box; 159 | -webkit-line-clamp: 3; 160 | -webkit-box-orient: vertical; 161 | overflow: hidden; 162 | } 163 | } 164 | 165 | .link-urls { 166 | font-family: $family-code; 167 | font-weight: 600; 168 | font-size: 0.9375rem; 169 | } 170 | 171 | .link-urls a:hover { 172 | color: darken($link, 20%); 173 | } 174 | 175 | .link-urls a.app-store { 176 | color: $pink; 177 | } 178 | 179 | .link-urls a.app-store:hover { 180 | color: darken($pink, 8%); 181 | } 182 | 183 | // Default.vue 184 | .fade-enter-active { 185 | transition: opacity .5s; 186 | } 187 | 188 | .fade-enter { 189 | opacity: 0; 190 | } 191 | 192 | // Hero 193 | .top-bar { 194 | background-image: linear-gradient(270deg, #9876F8 0%, #FF85B8 100%); 195 | box-shadow: 0 0 4px 0 rgba(0,0,0,0.32); 196 | height: 4px; 197 | } 198 | 199 | .hero { 200 | min-height: 480px; 201 | background-image: url('../assets/images/confetti.png'), linear-gradient(0deg, #7162B3 0%, #212C70 53%, #1B2357 100%); 202 | background-position: bottom center; 203 | background-size: contain, cover; 204 | background-repeat: no-repeat; 205 | } 206 | 207 | @media (max-width: 767px) { 208 | .hero { 209 | background-position: 5% center; 210 | background-size: cover; 211 | } 212 | } 213 | 214 | .hero-body { 215 | display: flex; 216 | align-items: center; 217 | justify-content: center; 218 | } 219 | 220 | // Content 221 | .content, .content h1, .content h2, .content h3 { 222 | color: #1b2357 !important; 223 | } 224 | 225 | // Navbar 226 | .navbar { 227 | padding-top: 2.5rem; 228 | padding-bottom: 2.5rem; 229 | font-size: 1.125rem; 230 | font-weight: 800; 231 | } 232 | 233 | .navbar-item img { 234 | max-height: none; 235 | } 236 | 237 | .navbar-item { 238 | padding: 0.5rem 1rem; 239 | } 240 | 241 | .navbar-burger.burger { 242 | color: #FFA7ED; 243 | } 244 | 245 | @media (max-width: 1023px) { 246 | .navbar-brand img { 247 | width: 192px; 248 | } 249 | } 250 | -------------------------------------------------------------------------------- /assets/scss/variables.scss: -------------------------------------------------------------------------------- 1 | // Custom Colors 2 | $pink: #F86EA7; 3 | $dark-purple: #1B2357; 4 | 5 | // Colors 6 | $black: #000000; 7 | $black-bis: #121212; 8 | $black-ter: #333333; 9 | $grey-darker: #444444; 10 | $grey-dark: #555555; 11 | $grey: #777777; 12 | $grey-light: #999999; 13 | $grey-lighter: #CCCCCC; 14 | $grey-lightest: #DDDDDD; 15 | $white-ter: #EEEEEE; 16 | $white-bis: #FAFAFA; 17 | $white: #FFFFFF; 18 | $orange: #F59F50; 19 | $yellow: #FFD24C; 20 | $green: #21D274; 21 | $turquoise: #10E1A3; 22 | $cyan: #53B1FF; 23 | $blue: #0775ED; 24 | $purple: #5c58ce; 25 | $red: #E74138; 26 | 27 | $primary: $turquoise; 28 | $link: $purple; 29 | $link-light: $pink; 30 | $info: $cyan; 31 | $success: $green; 32 | $warning: $yellow; 33 | $danger: $red; 34 | $dark: $dark-purple; 35 | $text: $black-bis; 36 | 37 | // Typography 38 | $family-monospace: 'IBM Plex Mono'; 39 | $family-code: 'IBM Plex Mono'; 40 | $title-color: $dark; 41 | $title-weight: 900; 42 | $subtitle-negative-margin: 0rem; 43 | $content-heading-color: $dark; 44 | $content-heading-weight: 800; 45 | 46 | .content h1, .content h2, .content h3, .content h4, .content h5, .content h6, { 47 | margin-top: 0 !important; 48 | } 49 | 50 | .content h2.title { 51 | margin-bottom: 1rem; 52 | } 53 | 54 | // Typography Sizes 55 | $size-1: 3.5rem; 56 | $size-2: 3rem; 57 | $size-3: 2.5rem; 58 | $size-4: 2rem; 59 | $size-5: 1.5rem; 60 | $size-6: 1.25rem; 61 | $size-7: 1rem; 62 | $size-8: 0.9375rem; 63 | $size-9: 0.875rem; 64 | $size-10: 0.75rem; 65 | 66 | $sizes: $size-1 $size-2 $size-3 $size-4 $size-5 $size-6 $size-7 $size-8 $size-9 $size-10; 67 | $size-small: $size-9; 68 | $size-normal: $size-7; 69 | $size-medium: $size-6; 70 | $size-large: $size-4; 71 | 72 | // Spacing Sizes 73 | $spacing-values: ( 74 | "0": 0, "1": 0.25rem, "2": 0.5rem, "3": 0.75rem, "4": 1rem, "5": 1.5rem, 75 | "6": 2rem, "7": 3rem, "8": 4rem, "9": 5rem, "10": 6rem, "11": 12rem, "12": 16rem, 76 | ); 77 | 78 | // Navbar 79 | $navbar-height: 4rem; 80 | $navbar-background-color: transparent; 81 | $navbar-box-shadow-color: transparent; 82 | $navbar-item-color: #FF81B9; 83 | $navbar-item-hover-color: #FFA7ED; 84 | $navbar-item-hover-background-color: transparent; 85 | $navbar-box-shadow-color: transparent; 86 | 87 | // Menus 88 | $menu-item-color: $link-light; 89 | $menu-item-hover-color: $link-light; 90 | $menu-item-hover-background-color: #FFF8FB; 91 | $menu-list-line-height: 1.125; 92 | $menu-list-link-padding: 0.5em 1em; 93 | 94 | .menu-list { 95 | font-size: $size-7; 96 | } 97 | 98 | @media (max-width: 767px) { 99 | .menu-list { 100 | font-size: $size-6; 101 | } 102 | } 103 | 104 | // Boxes 105 | $box-color: $dark; 106 | $box-shadow: 0 0 0; 107 | $box-padding: 1rem; 108 | 109 | // HRs 110 | $hr-background-color: $white-ter; 111 | $hr-height: 1px; 112 | $hr-margin: 2rem 0; 113 | 114 | hr { 115 | background-image: linear-gradient(270deg, #9876F8 0%, #FF85B8 100%); 116 | } -------------------------------------------------------------------------------- /nuxt.config.ts: -------------------------------------------------------------------------------- 1 | // https://nuxt.com/docs/api/configuration/nuxt-config 2 | // https://v3.nuxtjs.org/api/configuration/nuxt.config 3 | export default defineNuxtConfig({ 4 | app: { 5 | head: { 6 | htmlAttrs: { 7 | lang: 'en', 8 | }, 9 | charset: 'utf-8', 10 | viewport: 'width=device-width, initial-scale=1', 11 | title: 'Shortcuts Directory', 12 | meta: [ 13 | { name: 'description', content: "Curated collections of the best links about Apple's Shortcuts app." }, 14 | { property: "og:image", content: 'https://shortcuts.directory/sharingtile.jpg' }, 15 | ], 16 | } 17 | }, 18 | css: [ 19 | '@/assets/scss/styles.scss' 20 | // Needed to install sass and bulma to make this work. 21 | ], 22 | 23 | compatibilityDate: '2024-12-27' 24 | }) 25 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nuxt-app", 3 | "private": true, 4 | "type": "module", 5 | "scripts": { 6 | "build": "nuxt build", 7 | "dev": "nuxt dev", 8 | "generate": "nuxt generate", 9 | "preview": "nuxt preview", 10 | "postinstall": "nuxt prepare" 11 | }, 12 | "dependencies": { 13 | "bulma": "^1.0.3", 14 | "nuxt": "^3.15.0", 15 | "sass": "^1.83.0", 16 | "vue": "latest", 17 | "vue-router": "latest" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/public/favicon.ico -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/sharingtile.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/public/sharingtile.jpg -------------------------------------------------------------------------------- /server/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../.nuxt/tsconfig.server.json" 3 | } 4 | -------------------------------------------------------------------------------- /src/.temp/config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | "trailingSlash": true, 3 | "pathPrefix": "", 4 | "titleTemplate": "Shortcuts Directory / %s", 5 | "siteUrl": "https://shortcuts.directory", 6 | "version": "0.7.23", 7 | "catchLinks": true 8 | } -------------------------------------------------------------------------------- /src/.temp/constants.js: -------------------------------------------------------------------------------- 1 | export const NOT_FOUND_NAME = "404" 2 | export const NOT_FOUND_PATH = "/404" 3 | -------------------------------------------------------------------------------- /src/.temp/icons.js: -------------------------------------------------------------------------------- 1 | export default { 2 | "touchiconMimeType": "image/png", 3 | "faviconMimeType": "image/png", 4 | "precomposed": false, 5 | "touchicons": [ 6 | { 7 | "width": 76, 8 | "src": "/assets/static/src/favicon.png?width=76&key=b1c2233" 9 | }, 10 | { 11 | "width": 152, 12 | "src": "/assets/static/src/favicon.png?width=152&key=b1c2233" 13 | }, 14 | { 15 | "width": 120, 16 | "src": "/assets/static/src/favicon.png?width=120&key=b1c2233" 17 | }, 18 | { 19 | "width": 167, 20 | "src": "/assets/static/src/favicon.png?width=167&key=b1c2233" 21 | }, 22 | { 23 | "width": 180, 24 | "src": "/assets/static/src/favicon.png?width=180&key=b1c2233" 25 | } 26 | ], 27 | "favicons": [ 28 | { 29 | "width": 16, 30 | "src": "/assets/static/src/favicon.png?width=16&key=970c2c7" 31 | }, 32 | { 33 | "width": 32, 34 | "src": "/assets/static/src/favicon.png?width=32&key=970c2c7" 35 | }, 36 | { 37 | "width": 96, 38 | "src": "/assets/static/src/favicon.png?width=96&key=970c2c7" 39 | } 40 | ] 41 | } -------------------------------------------------------------------------------- /src/.temp/now.js: -------------------------------------------------------------------------------- 1 | export default 1636137647115 -------------------------------------------------------------------------------- /src/.temp/plugins-client.js: -------------------------------------------------------------------------------- 1 | 2 | export default [ 3 | ] 4 | -------------------------------------------------------------------------------- /src/.temp/plugins-server.js: -------------------------------------------------------------------------------- 1 | 2 | export default [ 3 | ] 4 | -------------------------------------------------------------------------------- /src/.temp/routes.js: -------------------------------------------------------------------------------- 1 | const c1 = () => import(/* webpackChunkName: "page--src--pages--training-vue" */ "/Users/bradsiefert/Sites/personal/shortcuts-directory/src/pages/Training.vue") 2 | const c2 = () => import(/* webpackChunkName: "page--src--pages--submitalink-vue" */ "/Users/bradsiefert/Sites/personal/shortcuts-directory/src/pages/Submitalink.vue") 3 | const c3 = () => import(/* webpackChunkName: "page--src--pages--success-vue" */ "/Users/bradsiefert/Sites/personal/shortcuts-directory/src/pages/Success.vue") 4 | const c4 = () => import(/* webpackChunkName: "page--src--pages--podcasts-vue" */ "/Users/bradsiefert/Sites/personal/shortcuts-directory/src/pages/Podcasts.vue") 5 | const c5 = () => import(/* webpackChunkName: "page--src--pages--powertools-vue" */ "/Users/bradsiefert/Sites/personal/shortcuts-directory/src/pages/Powertools.vue") 6 | const c6 = () => import(/* webpackChunkName: "page--src--pages--newsandblogs-vue" */ "/Users/bradsiefert/Sites/personal/shortcuts-directory/src/pages/Newsandblogs.vue") 7 | const c7 = () => import(/* webpackChunkName: "page--src--pages--international-vue" */ "/Users/bradsiefert/Sites/personal/shortcuts-directory/src/pages/International.vue") 8 | const c8 = () => import(/* webpackChunkName: "page--src--pages--history-vue" */ "/Users/bradsiefert/Sites/personal/shortcuts-directory/src/pages/History.vue") 9 | const c9 = () => import(/* webpackChunkName: "page--src--pages--gallerysites-vue" */ "/Users/bradsiefert/Sites/personal/shortcuts-directory/src/pages/Gallerysites.vue") 10 | const c10 = () => import(/* webpackChunkName: "page--src--pages--enthusiastcreators-vue" */ "/Users/bradsiefert/Sites/personal/shortcuts-directory/src/pages/Enthusiastcreators.vue") 11 | const c11 = () => import(/* webpackChunkName: "page--src--pages--extensionapps-vue" */ "/Users/bradsiefert/Sites/personal/shortcuts-directory/src/pages/Extensionapps.vue") 12 | const c12 = () => import(/* webpackChunkName: "page--src--pages--communities-vue" */ "/Users/bradsiefert/Sites/personal/shortcuts-directory/src/pages/Communities.vue") 13 | const c13 = () => import(/* webpackChunkName: "page--src--pages--about-vue" */ "/Users/bradsiefert/Sites/personal/shortcuts-directory/src/pages/About.vue") 14 | const c14 = () => import(/* webpackChunkName: "page--src--pages--404-vue" */ "/Users/bradsiefert/Sites/personal/shortcuts-directory/src/pages/404.vue") 15 | const c15 = () => import(/* webpackChunkName: "page--src--pages--index-vue" */ "/Users/bradsiefert/Sites/personal/shortcuts-directory/src/pages/Index.vue") 16 | 17 | export default [ 18 | { 19 | path: "/training/", 20 | component: c1 21 | }, 22 | { 23 | path: "/submitalink/", 24 | component: c2 25 | }, 26 | { 27 | path: "/success/", 28 | component: c3 29 | }, 30 | { 31 | path: "/podcasts/", 32 | component: c4 33 | }, 34 | { 35 | path: "/powertools/", 36 | component: c5 37 | }, 38 | { 39 | path: "/newsandblogs/", 40 | component: c6 41 | }, 42 | { 43 | path: "/international/", 44 | component: c7 45 | }, 46 | { 47 | path: "/history/", 48 | component: c8 49 | }, 50 | { 51 | path: "/gallerysites/", 52 | component: c9 53 | }, 54 | { 55 | path: "/enthusiastcreators/", 56 | component: c10 57 | }, 58 | { 59 | path: "/extensionapps/", 60 | component: c11 61 | }, 62 | { 63 | path: "/communities/", 64 | component: c12 65 | }, 66 | { 67 | path: "/about/", 68 | component: c13 69 | }, 70 | { 71 | name: "404", 72 | path: "/404/", 73 | component: c14 74 | }, 75 | { 76 | name: "home", 77 | path: "/", 78 | component: c15 79 | }, 80 | { 81 | name: "*", 82 | path: "*", 83 | component: c14 84 | } 85 | ] 86 | -------------------------------------------------------------------------------- /src/components/Collections.vue: -------------------------------------------------------------------------------- 1 | 21 | 22 | 27 | 28 | 65 | -------------------------------------------------------------------------------- /src/components/HeroBody.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | -------------------------------------------------------------------------------- /src/components/Link.vue: -------------------------------------------------------------------------------- 1 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /src/components/LinkApp.vue: -------------------------------------------------------------------------------- 1 | 34 | 35 | -------------------------------------------------------------------------------- /src/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bradsiefert/shortcuts.directory/b27dadb7c71cc99b6c4ee29a163db88a38cf4031/src/favicon.png -------------------------------------------------------------------------------- /src/layouts/Default.vue: -------------------------------------------------------------------------------- 1 | 71 | 72 | 83 | 84 | 148 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | // This is the main.js file. Import global CSS and scripts here. 2 | // The Client API can be used here. Learn more: gridsome.org/docs/client-api 3 | 4 | import '~/assets/scss/styles.scss' 5 | import DefaultLayout from '~/layouts/Default.vue' 6 | 7 | // Adding FontAwesome 8 | import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome' 9 | import { config, library } from '@fortawesome/fontawesome-svg-core' 10 | import { faGithub, faTwitter } from '@fortawesome/free-brands-svg-icons' 11 | import '@fortawesome/fontawesome-svg-core/styles.css' 12 | config.autoAddCss = false; 13 | library.add(faTwitter) 14 | 15 | export default function (Vue, { router, head, isClient }) { 16 | // Set default layout as a global component 17 | Vue.component('Layout', DefaultLayout) 18 | // Import FontAwesome 19 | Vue.component('font-awesome', FontAwesomeIcon) 20 | // Import Google Fonts 21 | head.link.push({ 22 | rel: 'stylesheet', 23 | href: 'https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@600&display=swap' 24 | }) 25 | } 26 | 27 | // 2021-01-01 Change to trigger content push -------------------------------------------------------------------------------- /src/pages/404.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 21 | 22 | 24 | -------------------------------------------------------------------------------- /src/pages/About.vue: -------------------------------------------------------------------------------- 1 | 80 | 81 | -------------------------------------------------------------------------------- /src/pages/Communities.vue: -------------------------------------------------------------------------------- 1 | 38 | 39 | 40 | query Links { 41 | links: allLink ( 42 | filter: { category: { contains: "Communities" } } 43 | sortBy: "sortingOrderId" order: ASC 44 | ) { 45 | edges { 46 | node { 47 | id 48 | linkName 49 | description 50 | url 51 | category 52 | status 53 | appStoreUrl 54 | appDeveloper 55 | urlShort 56 | urlDomain 57 | iconShort 58 | sortingOrderId 59 | } 60 | } 61 | } 62 | } 63 | 64 | 65 | 84 | -------------------------------------------------------------------------------- /src/pages/Enthusiastcreators.vue: -------------------------------------------------------------------------------- 1 | 38 | 39 | 40 | query Links { 41 | links: allLink ( 42 | filter: { category: { contains: "Expert & Enthusiast Creators" } } 43 | sortBy: "sortingOrderId" order: ASC 44 | ) { 45 | edges { 46 | node { 47 | id 48 | linkName 49 | description 50 | url 51 | category 52 | status 53 | appStoreUrl 54 | appDeveloper 55 | urlShort 56 | urlDomain 57 | iconShort 58 | sortingOrderId 59 | } 60 | } 61 | } 62 | } 63 | 64 | 65 | 84 | -------------------------------------------------------------------------------- /src/pages/Extensionapps.vue: -------------------------------------------------------------------------------- 1 | 38 | 39 | 40 | query Links { 41 | links: allLink ( 42 | filter: { category: { contains: "Apps" } } 43 | sortBy: "sortingOrderId" order: ASC 44 | ) { 45 | edges { 46 | node { 47 | id 48 | linkName 49 | description 50 | url 51 | category 52 | status 53 | appStoreUrl 54 | appDeveloper 55 | urlShort 56 | urlDomain 57 | iconShort 58 | sortingOrderId 59 | } 60 | } 61 | } 62 | } 63 | 64 | 65 | 84 | -------------------------------------------------------------------------------- /src/pages/Gallerysites.vue: -------------------------------------------------------------------------------- 1 | 44 | 45 | 46 | query Links { 47 | links: allLink ( 48 | filter: { category: { contains: "Galleries" } } 49 | sortBy: "sortingOrderId" order: DESC 50 | ) { 51 | edges { 52 | node { 53 | id 54 | linkName 55 | description 56 | url 57 | category 58 | status 59 | appStoreUrl 60 | appDeveloper 61 | urlShort 62 | urlDomain 63 | iconShort 64 | sortingOrderId 65 | } 66 | } 67 | } 68 | 69 | historylinks: allLink ( 70 | filter: { category: { contains: "History" } } 71 | sortBy: "sortingOrderId" order: ASC 72 | ) { 73 | edges { 74 | node { 75 | id 76 | linkName 77 | description 78 | url 79 | category 80 | status 81 | appStoreUrl 82 | appDeveloper 83 | urlShort 84 | urlDomain 85 | iconShort 86 | sortingOrderId 87 | } 88 | } 89 | } 90 | } 91 | 92 | 93 | 94 | 113 | -------------------------------------------------------------------------------- /src/pages/History.vue: -------------------------------------------------------------------------------- 1 | 38 | 39 | 40 | query Links { 41 | links: allLink ( 42 | filter: { category: { contains: "History" } } 43 | sortBy: "sortingOrderId" order: ASC 44 | ) { 45 | edges { 46 | node { 47 | id 48 | linkName 49 | description 50 | url 51 | category 52 | status 53 | appStoreUrl 54 | appDeveloper 55 | urlShort 56 | urlDomain 57 | iconShort 58 | sortingOrderId 59 | } 60 | } 61 | } 62 | } 63 | 64 | 65 | 84 | -------------------------------------------------------------------------------- /src/pages/Index.vue: -------------------------------------------------------------------------------- 1 | 45 | 46 | 47 | query Links { 48 | links: allLink ( 49 | filter: { category: { contains: "Start Here" } } 50 | sortBy: "sortingOrderId" order: ASC 51 | ) { 52 | edges { 53 | node { 54 | id 55 | linkName 56 | description 57 | url 58 | category 59 | status 60 | appStoreUrl 61 | appDeveloper 62 | urlShort 63 | urlDomain 64 | iconShort 65 | sortingOrderId 66 | } 67 | } 68 | } 69 | } 70 | 71 | 72 | 91 | -------------------------------------------------------------------------------- /src/pages/International.vue: -------------------------------------------------------------------------------- 1 | 38 | 39 | 40 | query Links { 41 | links: allLink ( 42 | filter: { category: { contains: "International" } } 43 | sortBy: "sortingOrderId" order: ASC 44 | ) { 45 | edges { 46 | node { 47 | id 48 | linkName 49 | description 50 | url 51 | category 52 | status 53 | appStoreUrl 54 | appDeveloper 55 | urlShort 56 | urlDomain 57 | iconShort 58 | sortingOrderId 59 | } 60 | } 61 | } 62 | } 63 | 64 | 65 | 84 | -------------------------------------------------------------------------------- /src/pages/Newsandblogs.vue: -------------------------------------------------------------------------------- 1 | 38 | 39 | 40 | query Links { 41 | links: allLink ( 42 | filter: { category: { contains: "News & Blogs" } } 43 | sortBy: "sortingOrderId" order: ASC 44 | ) { 45 | edges { 46 | node { 47 | id 48 | linkName 49 | description 50 | url 51 | category 52 | status 53 | appStoreUrl 54 | appDeveloper 55 | urlShort 56 | urlDomain 57 | iconShort 58 | sortingOrderId 59 | } 60 | } 61 | } 62 | } 63 | 64 | 65 | 84 | -------------------------------------------------------------------------------- /src/pages/Podcasts.vue: -------------------------------------------------------------------------------- 1 | 38 | 39 | 40 | query Links { 41 | links: allLink ( 42 | filter: { category: { contains: "Podcasts" } } 43 | sortBy: "sortingOrderId" order: ASC 44 | ) { 45 | edges { 46 | node { 47 | id 48 | linkName 49 | description 50 | url 51 | category 52 | status 53 | appStoreUrl 54 | appDeveloper 55 | urlShort 56 | urlDomain 57 | iconShort 58 | sortingOrderId 59 | } 60 | } 61 | } 62 | } 63 | 64 | 65 | 84 | -------------------------------------------------------------------------------- /src/pages/Powertools.vue: -------------------------------------------------------------------------------- 1 | 38 | 39 | 40 | query Links { 41 | links: allLink ( 42 | filter: { category: { contains: "Power Tools" } } 43 | sortBy: "sortingOrderId" order: ASC 44 | ) { 45 | edges { 46 | node { 47 | id 48 | linkName 49 | description 50 | url 51 | category 52 | status 53 | appStoreUrl 54 | appDeveloper 55 | urlShort 56 | urlDomain 57 | iconShort 58 | sortingOrderId 59 | } 60 | } 61 | } 62 | } 63 | 64 | 65 | 84 | -------------------------------------------------------------------------------- /src/pages/README.md: -------------------------------------------------------------------------------- 1 | Pages are usually used for normal pages or for listing items from a GraphQL collection. 2 | Add .vue files here to create pages. For example **About.vue** will be **site.com/about**. 3 | Learn more about pages: https://gridsome.org/docs/pages/ 4 | 5 | You can delete this file. 6 | -------------------------------------------------------------------------------- /src/pages/Submitalink.vue: -------------------------------------------------------------------------------- 1 | 62 | 63 | -------------------------------------------------------------------------------- /src/pages/Success.vue: -------------------------------------------------------------------------------- 1 | 19 | 20 | -------------------------------------------------------------------------------- /src/pages/Training.vue: -------------------------------------------------------------------------------- 1 | 38 | 39 | 40 | query Links { 41 | links: allLink ( 42 | filter: { category: { contains: "Training" } } 43 | sortBy: "sortingOrderId" order: ASC 44 | ) { 45 | edges { 46 | node { 47 | id 48 | linkName 49 | description 50 | url 51 | category 52 | status 53 | appStoreUrl 54 | appDeveloper 55 | urlShort 56 | urlDomain 57 | iconShort 58 | sortingOrderId 59 | } 60 | } 61 | } 62 | } 63 | 64 | 65 | 84 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | // https://nuxt.com/docs/guide/concepts/typescript 3 | "extends": "./.nuxt/tsconfig.json" 4 | } 5 | --------------------------------------------------------------------------------