├── src ├── env.d.ts └── pages │ ├── Developer.astro │ ├── LoveNote.astro │ ├── LoveNote.scss │ ├── index.astro │ ├── index.scss │ └── DeveloperLove.astro ├── tsconfig.json ├── astro.config.mjs ├── .gitignore ├── package.json ├── public └── favicon.svg └── README.md /src/env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "astro/tsconfigs/base" 3 | } 4 | -------------------------------------------------------------------------------- /src/pages/Developer.astro: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 |
4 | {Astro.props.whyYouLoveCodeflow} 5 |
6 | -------------------------------------------------------------------------------- /astro.config.mjs: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'astro/config'; 2 | 3 | // https://astro.build/config 4 | export default defineConfig({}); 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # build output 2 | dist/ 3 | 4 | # dependencies 5 | node_modules/ 6 | 7 | # logs 8 | npm-debug.log* 9 | yarn-debug.log* 10 | yarn-error.log* 11 | pnpm-debug.log* 12 | 13 | 14 | # environment variables 15 | .env 16 | .env.production 17 | 18 | # macOS-specific files 19 | .DS_Store 20 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@example/minimal", 3 | "type": "module", 4 | "version": "0.0.1", 5 | "private": true, 6 | "scripts": { 7 | "dev": "astro dev", 8 | "start": "astro dev", 9 | "build": "astro build", 10 | "preview": "astro preview", 11 | "astro": "astro" 12 | }, 13 | "dependencies": { 14 | "astro": "^1.4.6", 15 | "sass": "^1.55.0" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/pages/LoveNote.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import "./LoveNote.scss" 3 | 4 | const username = Astro.props.githubUsername ? Astro.props.githubUsername : 'octocat'; 5 | let emoji = '💜' 6 | const firstChar = username.toLowerCase().charAt(0); 7 | if ('abcghijkl'.includes(firstChar)) { 8 | emoji = '💙'; 9 | } else if ('mnopqr'.includes(firstChar)) { 10 | emoji = '💜'; 11 | } else if ('stubwxyz'.includes(firstChar)) { 12 | emoji = '❤️'; 13 | } 14 | --- 15 | 16 | 17 |
18 |
{Astro.props.message}
19 | 20 |
Published with {emoji} by {username}
21 |
22 | -------------------------------------------------------------------------------- /public/favicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/pages/LoveNote.scss: -------------------------------------------------------------------------------- 1 | .message { 2 | margin-top: 50px; 3 | clear: both; 4 | img { 5 | position: absolute; 6 | left: -60px; 7 | bottom: 0px; 8 | height: 45px; 9 | width: 45px; 10 | border-radius: 50px; 11 | z-index: 999; 12 | } 13 | .comment { 14 | padding: 5px; 15 | } 16 | .from { 17 | position: absolute; 18 | bottom: -25px; 19 | width: max-content; 20 | font-size: 12px; 21 | display: flex; 22 | align-items: center; 23 | white-space: pre; 24 | .emoji { 25 | display: inline-block; 26 | vertical-align: middle; 27 | font-size: 20px; 28 | } 29 | a { 30 | text-decoration: none; 31 | font-weight: bold; 32 | color: #333; 33 | &:hover { 34 | text-decoration: underline; 35 | } 36 | } 37 | } 38 | margin-left: 60px; 39 | position: relative; 40 | padding: 5px 20px; 41 | background: #E5E5EA; 42 | border-radius: 25px; 43 | border-bottom-left-radius: 0; 44 | color: black; 45 | float: left; 46 | &::before { 47 | content: ""; 48 | position: absolute; 49 | z-index: 2; 50 | bottom: 0; 51 | left: -10px; 52 | width: 12px; 53 | height: 12px; 54 | background: #E5E5EA; 55 | } 56 | &::after { 57 | content: ""; 58 | position: absolute; 59 | z-index: 3; 60 | bottom: 0; 61 | left: -20px; 62 | width: 20px; 63 | height: 20px; 64 | background: white; 65 | border-bottom-right-radius: 10px; 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/pages/index.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import "./index.scss" 3 | import DeveloperLove from './DeveloperLove.astro'; 4 | --- 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | I ❤️ Codeflow 13 | 41 | 42 | 43 |

I love Codeflow.

44 |
45 | Add your name! 46 | 47 | Learn more 48 | 49 |
50 |
51 | 52 |
53 | 54 | 55 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ilovecodeflow.com 2 | 3 | Do you love [Codeflow](https://developer.stackblitz.com/codeflow/what-is-codeflow)? We do! 4 | 5 | 6 | ## What is Codeflow? 7 | 8 | Codeflow is a one-click integration with GitHub for seamless coding workflows. 9 | 10 | StackBlitz now helps you switch contexts seamlessly: 11 | 12 | - [**Codeflow IDE**](https://developer.stackblitz.com/codeflow/working-in-codeflow-ide) is a fully fledged desktop-grade dev environment capable of running your whole workflow - from production-level dev work to reviewing pull requests. 13 | - [**Web Publisher**](https://developer.stackblitz.com/codeflow/content-updates-with-web-publisher) is a publishing tool that makes editing docs or blogs pleasant thanks to a realtime preview of the changes. 14 | - [**pr.new**](https://developer.stackblitz.com/codeflow/using-pr-new) is a short URL that can be used on any repository to explore code, a branch or an issue, to review a PR, or even to edit a file, all in a live environment with a realtime preview. 15 | - [**CodeflowApp**](https://developer.stackblitz.com/codeflow/integrating-codeflowapp-bot) is a friendly bot, which provides a one-click link that spins up the whole environment for pull requests and issues. No more context-switching or branch-checkouts, just a new browser tab with a full IDE and a dev server running. 16 | 17 | ## Explore 18 | 19 | Excited to try it yourself? Try these: 20 | - 📝 Take Web Publisher for a spin by adding your name to [ilovecodeflow.com](https://ilovecodeflow.com/)! 21 | - 💻 Explore how we built [our docs site](https://pr.new/github.com/stackblitz/docs) in Codeflow IDE! 22 | - 🕵️ Review [this suspicious PR](https://pr.new/stackblitz/docs/pull/40) in Codeflow IDE 23 | - 🤖 See our CodeflowApp bot in action on [a PR](https://github.com/stackblitz/docs/pull/40#issue-1404169268)! 24 | 25 | --- 26 | This site was built with [Astro](https://astro.build/) 💙 27 | -------------------------------------------------------------------------------- /src/pages/index.scss: -------------------------------------------------------------------------------- 1 | 2 | /*========== Structure ==========*/ 3 | .btn-push { 4 | position: relative; 5 | top: 0px; 6 | font-weight: bolder; 7 | text-decoration: none; 8 | font-size: 18px; 9 | background: #f7f7f7; 10 | padding: 10px 30px; 11 | margin: 0 10px; 12 | border: 1px solid #c4c4c4; 13 | -webkit-border-radius: 5px; 14 | -moz-border-radius: 5px; 15 | border-radius: 5px; 16 | -webkit-box-shadow: 0px 5px 0px #c4c4c4; 17 | -moz-box-shadow: 0px 5px 0px #c4c4c4; 18 | -ms-box-shadow: 0px 5px 0px #c4c4c4; 19 | -o-box-shadow: 0px 5px 0px #c4c4c4; 20 | box-shadow: 0px 5px 0px #c4c4c4; 21 | color: #222; 22 | text-shadow: 1px 1px 1px #fff; 23 | -webkit-transition: All 250ms ease; 24 | -moz-transition: All 250ms ease; 25 | -o-transition: All 250ms ease; 26 | -ms-transition: All 250ms ease; 27 | transition: All 250ms ease; 28 | } 29 | /*========== Active State ==========*/ 30 | .btn-push:active { 31 | position: relative; 32 | top: 5px; 33 | -webkit-box-shadow: none !important; 34 | -moz-box-shadow: none !important; 35 | -ms-box-shadow: none !important; 36 | -o-box-shadow: none !important; 37 | box-shadow: none !important; 38 | -webkit-transition: All 250ms ease; 39 | -moz-transition: All 250ms ease; 40 | -o-transition: All 250ms ease; 41 | -ms-transition: All 250ms ease; 42 | transition: All 250ms ease; 43 | } 44 | /*========== Navy ==========*/ 45 | .btn-push.navy { 46 | background: #1b486d; 47 | border: 1px solid #07121b; 48 | -webkit-border-radius: 5px; 49 | -moz-border-radius: 5px; 50 | border-radius: 5px; 51 | -webkit-box-shadow: 0px 5px 0px #07121b; 52 | -moz-box-shadow: 0px 5px 0px #07121b; 53 | -ms-box-shadow: 0px 5px 0px #07121b; 54 | -o-box-shadow: 0px 5px 0px #07121b; 55 | box-shadow: 0px 5px 0px #07121b; 56 | color: #fff; 57 | text-shadow: 1px 1px 1px #07121b; 58 | } 59 | /*========== Green ==========*/ 60 | .btn-push.green { 61 | background: #7cc576; 62 | color: #fff; 63 | border: 1px solid #46963f; 64 | -webkit-border-radius: 5px; 65 | -moz-border-radius: 5px; 66 | border-radius: 5px; 67 | -webkit-box-shadow: 0px 5px 0px #46963f; 68 | -moz-box-shadow: 0px 5px 0px #46963f; 69 | -ms-box-shadow: 0px 5px 0px #46963f; 70 | -o-box-shadow: 0px 5px 0px #46963f; 71 | box-shadow: 0px 5px 0px #46963f; 72 | text-shadow: 1px 1px 1px #46963f; 73 | } 74 | /*========== Red ==========*/ 75 | .btn-push.red { 76 | background: #df4242; 77 | color: #fff; 78 | border: 1px solid #a01b1b; 79 | -webkit-border-radius: 5px; 80 | -moz-border-radius: 5px; 81 | border-radius: 5px; 82 | -webkit-box-shadow: 0px 5px 0px #a01b1b; 83 | -moz-box-shadow: 0px 5px 0px #a01b1b; 84 | -ms-box-shadow: 0px 5px 0px #a01b1b; 85 | -o-box-shadow: 0px 5px 0px #a01b1b; 86 | box-shadow: 0px 5px 0px #a01b1b; 87 | text-shadow: 1px 1px 1px #a01b1b; 88 | } 89 | /*========== Blue ==========*/ 90 | .btn-push.blue { 91 | background: #2ec2dd; 92 | color: #fff; 93 | border: 1px solid #177c8e; 94 | -webkit-border-radius: 5px; 95 | -moz-border-radius: 5px; 96 | border-radius: 5px; 97 | -webkit-box-shadow: 0px 5px 0px #177c8e; 98 | -moz-box-shadow: 0px 5px 0px #177c8e; 99 | -ms-box-shadow: 0px 5px 0px #177c8e; 100 | -o-box-shadow: 0px 5px 0px #177c8e; 101 | box-shadow: 0px 5px 0px #177c8e; 102 | text-shadow: 1px 1px 1px #177c8e; 103 | } 104 | /*========== Orange ==========*/ 105 | .btn-push.orange { 106 | background: #f57936; 107 | color: #fff; 108 | border: 1px solid #bc4809; 109 | -webkit-border-radius: 5px; 110 | -moz-border-radius: 5px; 111 | border-radius: 5px; 112 | -webkit-box-shadow: 0px 5px 0px #bc4809; 113 | -moz-box-shadow: 0px 5px 0px #bc4809; 114 | -ms-box-shadow: 0px 5px 0px #bc4809; 115 | -o-box-shadow: 0px 5px 0px #bc4809; 116 | box-shadow: 0px 5px 0px #bc4809; 117 | text-shadow: 1px 1px 1px #bc4809; 118 | } 119 | -------------------------------------------------------------------------------- /src/pages/DeveloperLove.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import LoveNote from './LoveNote.astro' 3 | // Add your name and message below! 4 | 5 | // Don't know where to begin? Don't worry - we'll help you 💕 6 | // Follow these steps: 7 | // 1. Highlight and copy lines 18-21 below. 8 | // 2. Paste at the end of the document. 9 | // 3. Replace "EricSimons" with your own GitHub username. 10 | // 4. Replace Eric's message with your own - remember about quotation marks! 11 | // 5. Verify the changes in the Preview window on the right. 12 | // 6. If you're satisfied, in the top-right corner, click on the "Propose changes" button and then "Fork & commit changes". A new browser tab will open. 13 | // 7. Click on the "Create pull request" and... 14 | // CONGRATULATIONS! 🥳 You've edited this file! 15 | 16 | --- 17 | 18 | 22 | 23 | 27 | 28 | 32 | 33 | 37 | 41 | 42 | 46 | 47 | 51 | 52 | 56 | 57 | 61 | 62 | 66 | 67 | 71 | 72 | 76 | 77 | 81 | 82 | 86 | 87 | 91 | 92 | 96 | 97 | 101 | 102 | 106 | 107 | 111 | 112 | 116 | 117 | 121 | 122 | 126 | 127 | 131 | 135 | 136 | 140 | 141 | 145 | 146 | 150 | 151 | 155 | 156 | 160 | 161 | 165 | 166 | 170 | 171 | 175 | 176 | 180 | 181 | 185 | 186 | 190 | 191 | 195 | 196 | 200 | 201 | 205 | 206 | 210 | 211 | 215 | 216 | 220 | 221 | 225 | 226 | 230 | 231 | 235 | 236 | 240 | 241 | 245 | 246 | 250 | 251 | 255 | 256 | 260 | 261 | 265 | 266 | 270 | 271 | 275 | 276 | 280 | 281 | 285 | 286 | 290 | 291 | 295 | 296 | 300 | 301 | 305 | 306 | 310 | 311 | 315 | 316 | 320 | 321 | 325 | 326 | 330 | 331 | 335 | 336 | 340 | 341 | 345 | 346 | 350 | 351 | 355 | 356 | 360 | 361 | 365 | 366 | 370 | 371 | 375 | 376 | 380 | 381 | 385 | 386 | 390 | 391 | 395 | 396 | 400 | 401 | 405 | 406 | 410 | 411 | 415 | 416 | 420 | 421 | 425 | 426 | 430 | 431 | 435 | 436 | 440 | 441 | 445 | 446 | 450 | 451 | 455 | 456 | 460 | 461 | 465 | 466 | 470 | 471 | 475 | 476 | 480 | 481 | 485 | 486 | 490 | 491 | 495 | 496 | 500 | 501 | 505 | 506 | 510 | 511 | 515 | 516 | 520 | 521 | 525 | 526 | 530 | 531 | 535 | 536 | 540 | 541 | 545 | 546 | 550 | 551 | 555 | 556 | 560 | 561 | 565 | 566 | 570 | 571 | 575 | 576 | 580 | 581 | 585 | 586 | 590 | 591 | 595 | 596 | 600 | 601 | 605 | 606 | 610 | 611 | 615 | 616 | 620 | 621 | 625 | 626 | 630 | 631 | 635 | 636 | 640 | 641 | 645 | 646 | 647 | 651 | 652 | 656 | 657 | 661 | 662 | 666 | 667 | 671 | 672 | 676 | 677 | 681 | 682 | 686 | 687 | 691 | 692 | 696 | 697 | 701 | 702 | 706 | 707 | 711 | 712 | 716 | 717 | 721 | 722 | 726 | 727 | 731 | 732 | 736 | 737 | 741 | 742 | 746 | 747 | 751 | 752 | 756 | 757 | 761 | 762 | 766 | 767 | 771 | 772 | 776 | 777 | 781 | 782 | 786 | 787 | 791 | 792 | 796 | 797 | 801 | 802 | 806 | 807 | 811 | 812 | 816 | 817 | 821 | 822 | 826 | 827 | 831 | 832 | 836 | 837 | 841 | 842 | 846 | 847 | 851 | 852 | 856 | 857 | 861 | 862 | 866 | 867 | 871 | 872 | 876 | 877 | 881 | 882 | 886 | 887 | 891 | 892 | 896 | 897 | 901 | 902 | 906 | 907 | 911 | 912 | 916 | 917 | 921 | 922 | 926 | 927 | 931 | 932 | 936 | 937 | 941 | 942 | 946 | 947 | 951 | 952 | 956 | 957 | 960 | 961 | 965 | 966 | 970 | 971 | 975 | 976 | 980 | 981 | 985 | 986 | 990 | 991 | 995 | 996 | 1000 | 1001 | 1005 | 1006 | 1010 | 1011 | 1015 | 1016 | 1020 | 1021 | 1025 | 1026 | 1030 | 1031 | 1032 | 1036 | 1037 | 1041 | 1042 | 1046 | 1047 | 1051 | 1052 | 1056 | 1057 | 1061 | 1062 | 1066 | 1067 | 1071 | 1072 | 1076 | 1077 | 1081 | 1082 | 1086 | 1087 | 1091 | 1092 | 1096 | 1097 | 1101 | 1102 | 1106 | 1107 | 1111 | 1112 | 1116 | 1117 | 1121 | 1122 | 1126 | 1127 | 1132 | 1133 | 1137 | 1138 | 1142 | 1146 | 1147 | 1151 | 1152 | 1156 | 1157 | 1161 | 1162 | 1166 | 1167 | 1171 | 1175 | 1176 | 1180 | 1181 | 1185 | 1186 | 1190 | 1191 | 1195 | 1196 | 1200 | 1201 | 1205 | 1206 | 1210 | 1211 | 1215 | 1216 | 1220 | 1224 | --------------------------------------------------------------------------------