From 3ac2727e85355dd1a022f5abf0c4e2d510a65528 Mon Sep 17 00:00:00 2001 From: Andrew Nesbitt Date: Mon, 3 Mar 2025 12:50:36 +0000 Subject: [PATCH] Update shared assets from https://github.com/ecosyste-ms/documentation --- app/assets/images/applications.svg | 1 + app/assets/images/data.svg | 1 + app/assets/images/experiment.svg | 1 + app/assets/images/funds-screenshot.png | Bin 0 -> 28724 bytes app/assets/images/indexes.svg | 1 + app/assets/images/logo-chan-z.png | Bin 0 -> 7742 bytes app/assets/images/logo-microsoft.png | Bin 0 -> 2045 bytes app/assets/images/logo-osc-white.png | Bin 0 -> 16876 bytes app/assets/images/logo-osc.png | Bin 0 -> 3700 bytes app/assets/images/logo-schmidt-white.svg | 1 + app/assets/images/logo-snyk-white.svg | 1 + app/assets/images/logo-snyk.svg | 22 ++++ app/assets/images/logo-socket-white.png | Bin 0 -> 3069 bytes app/assets/images/logo-socket.png | Bin 0 -> 4683 bytes app/assets/images/stone-1.svg | 10 +- app/assets/images/stone-2.svg | 1 + app/assets/images/stone-3.svg | 1 + app/assets/images/tools.svg | 1 + app/assets/stylesheets/ecosystems.scss | 153 ++++++++++------------- lib/tasks/ecosystems.rake | 11 +- 20 files changed, 105 insertions(+), 100 deletions(-) create mode 100644 app/assets/images/applications.svg create mode 100644 app/assets/images/data.svg create mode 100644 app/assets/images/experiment.svg create mode 100644 app/assets/images/funds-screenshot.png create mode 100644 app/assets/images/indexes.svg create mode 100644 app/assets/images/logo-chan-z.png create mode 100644 app/assets/images/logo-microsoft.png create mode 100644 app/assets/images/logo-osc-white.png create mode 100644 app/assets/images/logo-osc.png create mode 100644 app/assets/images/logo-schmidt-white.svg create mode 100644 app/assets/images/logo-snyk-white.svg create mode 100644 app/assets/images/logo-snyk.svg create mode 100644 app/assets/images/logo-socket-white.png create mode 100644 app/assets/images/logo-socket.png create mode 100644 app/assets/images/stone-2.svg create mode 100644 app/assets/images/stone-3.svg create mode 100644 app/assets/images/tools.svg diff --git a/app/assets/images/applications.svg b/app/assets/images/applications.svg new file mode 100644 index 0000000..2aa100e --- /dev/null +++ b/app/assets/images/applications.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/images/data.svg b/app/assets/images/data.svg new file mode 100644 index 0000000..a06b89a --- /dev/null +++ b/app/assets/images/data.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/images/experiment.svg b/app/assets/images/experiment.svg new file mode 100644 index 0000000..c0496dd --- /dev/null +++ b/app/assets/images/experiment.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/images/funds-screenshot.png b/app/assets/images/funds-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..48a9d5cf32fe0d6096216e00bfab8e9972b751d6 GIT binary patch literal 28724 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/indexes.svg b/app/assets/images/indexes.svg new file mode 100644 index 0000000..9fa21eb --- /dev/null +++ b/app/assets/images/indexes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/images/logo-chan-z.png b/app/assets/images/logo-chan-z.png new file mode 100644 index 0000000000000000000000000000000000000000..bf09c4aec80537e836908530bab5273e770157fd GIT binary patch literal 7742 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 a&<=j}@wm%Kr@H^K#L`sNQ>jw2LH-}iDMK&- literal 0 HcmV?d00001 diff --git a/app/assets/images/logo-microsoft.png b/app/assets/images/logo-microsoft.png new file mode 100644 index 0000000000000000000000000000000000000000..122d3092d90667691386c4488f27f346d0ddafc9 GIT binary patch literal 2045 zcmah~dpy$%8=r8pHerRAlG}b*oI(-GurrtaFl%h6gM|)C?)OWgrB-jLwYd}%W{X@y zu_@YdY3fB$9p$q2*>S1!Vq!YEoxSJ0??3P7^M2m%AJ6yue4gj~eg1rC1iZWI4&5CP z2t*aCrYocgUPSFG}KUX;?{fUHx1UV=EiR9$ujEs!Gw7kkkO9W#G zdjV3tASD>(@E}_qkS!iWF8<3E7Z>+e$OZnt7UW*JYw16hqO1jm{GNUi5$_9ezF^Qb z)kRUiw{Vlv^>j*(uCBPDMuMefTx?_c*=L=p5Xg2z9M;7z?fpORjun;~s5|E(l&vy< zhQ~`%=cZV*H1g}=1 zP&fWp^ZV-JSmZgX$Q!3|K}V`^7*M9DOFK{{9L_I=m=9VgZ6 z+!#Ge40swP+=|*L)m?a5hap=8K@+rGGIVq7XX^@}FZ^FeJk~G$)Lr|77$4EIzhDSb z3kU88+?*dnRTM>UY>clJaF7{!MGYW7x%9}X5d zvt0|+v|3QpaV0C+cEK6%E!ie7(<1bC)}{3yYgl&zGGUKJ@bd}GE5m8qL$TMGe4Ei= zmAW7_%s!p^x2(J{ugXiKloe{$W;wzYie`)()>ARl;!(o2Ll=E@Y4>)cL$T1BM;dLY zQzor4m1P{0j4|{y4=ly4*j8$vYnuz3oo;1|TrsCXvk7JTTA?3CJCU*XnoCn9pVCrs zc^2k^|3t(@n!=fsC%e1FY@;Q0CwJ{{x?YyFB00?I1OVhnu7=h&m$Y%{ezOg|x| z9#wZ>6ld8janw~A=QcWLAaWtic zrLI%9{sSiDjokDA+1>3vud?rhG~KeMI*EZhjdK&p^kTici`6L8zc4&@;D|KMHJi>iFY75W&FAedPpPzVYg@qJ(@XRX$vKnq7DhXiwbwfxJg_{D z1D3EE=5UKkWJ@xhsB!VUMZ z0KQfn0QU5*+X+5<0VYo`>3a?BE(cQbe_JvGpBHpr`K9?Er(#bAfik6o7Ronk!dGH> z>@PD~pM(1vjE3DV+?^%GkOye78#Q>W6FdxCPqluNGIjcFOIBgY!O!i zdRNN4JHSFGlJ$&v#cOK%AXuk#FbXW?VmDzxYozP!OkH>t94FieKWJa>nICZA6>I-G zjWI^Fwl1na0Wd_V3fd_SMOj}*mY-S{4IVAn_I)|4l+>)FUAB7PTez=9*$gZJXLFOD z(wC2L;OnYAE>}IW;$BBD63Y-PNgrYd{H;ekGx0P*oTXuBt+F{ffcPZoU4N~wm_;A* z7g*(7zqY1mB7n^sWw58d)y^7+n)?aLgkFyjy7p`bZjaKM_81TQ?)kr%6mQZ;(0%3`f?UK6Hv?(TdE0LBFKO!jgvNM5Z|7R6xvlX;%{Dj< z%LnX3*UsfN9Gf4xrec^MVpM*cK7;Wk?)ApS9|n3~F?PHE c|E5~1n6YH;ITH~SFaN6$oGTvNfT8650mfg=s{jB1 literal 0 HcmV?d00001 diff --git a/app/assets/images/logo-osc-white.png b/app/assets/images/logo-osc-white.png new file mode 100644 index 0000000000000000000000000000000000000000..d1f9911f8d622780c90bfa3b0c442b3ff23ad1fc GIT binary patch literal 16876 zcmdRWRaD$w^e%-`+}*Xf6o=yOZpDiiXRyI3?heJFNO37XxVsf7KG*=o2WN0Dzx#i@ z>%QE#o0XMhC1-!xXUlgYJBij%lgB_MMTLWd!%$R^(Sn0R1jE6-V?#!G+XLkfHhx=` zYpCeRzO7&Xf0*c&M4jGr74Xnf(}qKQyuZO&M_EctKf=J*gYHaTFv!?vleEv#kh9eb z2Pj4Jm3pb~Z?#lgi*t>HTDTbH7ixF+r*h_=!@)^(D#}Rec(0!H1;63JegFAfK~w?% z-{${yvKiTE!3!^hLr;Cb>mS2JP+9a-M^;Aj>cxeh`!qYtD@MV#`sZWE9GbQD>8^nC z{}tzd4)nrYQ|Z6tJ8JoGx@|3jb=9X6kM%j9>$$=!;Ldw~;sx=t(@R|>bcm1UIX4D^ zC>8P&ei1T>&w@H4QD5vDIF>}1q9am%U50h_g-u%;tvp0krTy!`ZOdgxID67pxiX=6 zMi00>SJ~ybdU^>1BX zHTc6GxBun)o?pDMl)_c6Q`*1ni+$Icwx(^;4?eT=xfZtqrtwz>dyXGU@YPip8XlGF zI=ep5d7h(PuMF%^0<+TN$51F*Uqpf#q>IY$8x?#~bkeo*u_wh?T4?wd+IZ6hSk3U) z+Ub(Z6C2hg_=46k&P1U@t{snn7he4--~gYWadA{M?L}rf%|E~~EtEW3m)fKI(|a94 znBlp`)Ae@f_l_u@uZSrvH%!69(nVVz4yCx6)jw55#47(W93$6vSQjtM7MtqF3^;y3 z7^JY1T2hE43=jaz4O94x=l*W|)QnNX0$m7b&FJUbnZ}%HhF}T+T?vXd_;x*g7AMfu zy&Z^a{0sSls@QrRpfZk1CO@7cqblVG0PQ zb4B?&)8|a$M$Z1sFWYWMErpRGt?LGL>3&flx~^jt%%e3|GAdviI!cEMd7Cbvj{gj0 zDOR}H66Z};{v6&%V!5X{@?zY<3zu&u*>X~ik{h*nk=sEf^>=PdYC&i`Tjb%MOln$y)e;fHH6cl<^`myVe z)e`k-ob$kKg07Y~vMISwTRjVZiG8|(A&uhTc zqPSk{yC1VrjV%w<408)2qdR&sVwL?SAW#+&OS1~UXAn^?)yevySGELP#CFy@3WDk= zCR9=wBGF&^Q{XFbQQJ-djW|83Ve)D-HPhSFbFt!er~Uc;4o7QSRL8mCVtp}<=3K4) zUqzO``+2AunV|W_z)HALL$I30~kBUUHdUn2D|3^%(S%!O%zN6M89kSnhqa%=!7bC z>3@C#xJ(7|e^(jq+N0*Tmf0D~Yw|kp%z`EQwQh#XyXoQpY0RGjntLtTg~`J&^W;KRqa4w1qX@n%WaL%CKA^@1$OOVMO3r71a~gZBOIDzwn1_3velQ6Myw z277`C+dnyxBN+{^m2gARkGHCpqmE!@4%)-Ih&^CV4(ARct=)4bK!4diDD(RP$_t&Q`7^sJIn|y&y4M8J+%0D~ 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 G2~7aGZHb%! literal 0 HcmV?d00001 diff --git a/app/assets/images/logo-osc.png b/app/assets/images/logo-osc.png new file mode 100644 index 0000000000000000000000000000000000000000..4506990552ecf13cc1ef4b626304196bef6b2831 GIT binary patch literal 3700 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 tu3N*5KGN@=vMSRJ+g= \ No newline at end of file diff --git a/app/assets/images/logo-snyk-white.svg b/app/assets/images/logo-snyk-white.svg new file mode 100644 index 0000000..3ba4d6f --- /dev/null +++ b/app/assets/images/logo-snyk-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/images/logo-snyk.svg b/app/assets/images/logo-snyk.svg new file mode 100644 index 0000000..ca73928 --- /dev/null +++ b/app/assets/images/logo-snyk.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/logo-socket-white.png b/app/assets/images/logo-socket-white.png new file mode 100644 index 0000000000000000000000000000000000000000..f34cd5937e6337b4ddaf78c255d9d21669d0d34b GIT binary patch literal 3069 zcmdUx`9IT-1IORnm=VKBgix*sMHt!Us<{$5b8ZzQ_Zhi1#!^IXO6G&eeN;;BD})KT zatu+fT)8dZ{*CYJhu7=%}~=3SOmgjFEN&AN2cCARe+{#*U;L!7kG)idt= z3GFzUkw&313UV;#=?x{ZZpn$FJX;_6l*kt%q6I?$z}BI!t7RTEv0z6@n^5Nx?#4l& zf@bkc4YkZ^J0~Y&I+v5|$gz9k3R0^m{mW;?+{&?8=V2OAC=f>lvNJxxBgO%x^t^ar>{z(Ar8aW1dkYMxaFG$4crgpG{>&3one@5#Y@geC%&ShN(I2eUd4_FixLy2z#1iIR&)hyHKR~<9%D24OlHDFJ_ z4~|@3V*Fv^eWjKR9ca=AqH7!_*k!4#OkAk0%p7%imk_yU_NmVq`Z~g-<;@=i>t!*b z)*~?Vwnqs{{q2`M!@0eH{Uat91y<2;sr^jXN8sg9Q9{R)*s0dRx|Nye2r^Mj@7K5C zkHqYSLs~EsQsn5bC-?*k`g@)e;g*vxfwNvrYhO{9rR;$!c+sQFA&OybqRU z5pAcAN!E>nz>53a(Y0C8!s>WE9inXq$sp31ZR*!HHdC(rwC}}S*Gs^+e(9Ls`!>?U z76`gFV0q{t)W_-qzS(nHab^6g;Ao*^HY%hd(GjCDq*31QnZ$hGfSGJpx839W;90{` z&)8P3R4u$<1i>+3i$N=MBATr{H}2dtf_kOI5ak@f6c25MFpHXf7nTaHbQ<}k^&(vj z)KQ%3RP@{bZ^qFxY5Vvz{%wBCgAx7t+TLkXvHZX5pz~IN0f3s1c_I$=TwVJ$6 z$u3V!4ep2i|HPWrF0kaJQjY`|TiXK+-{A-OHO_3&Jvz$^Ho4vm>nFeLdftEpoqqgZX5BgZjpUYS?l^GavGeoM z;-j&u^m^1F$-EiPl}O3u@tK0;HYrc6-MAANE7q-fXL==yPl5^rB8xs)`+$p?_1fd; z1oHWJq&|Clv&pAIhh{aFd_$8{A*HbyB{kcx=c5t{qgOMPjHfhNp4^7wyl8lOxz$p( z)G+7EJDS>yKBvG4Ci3NvqV!XB_sW~zU}Dho$fs(Y6sSe!Oc5m4hD;3i8xUg8iYd1S z5aXzNO*~oh(#2mi(sW7Iv1PAURpK`X*ZQT`-m$a;+(yQT$IRy}zM@G88sD>1A@(kL zH?N=`baZaX+5IJYb0ye>(i-3xtKwL5RBhniVC-J|@j4kC@fQCnBi77UC2>}4g{8VT zbe3h^t1BZgdnarN7EG#O6M2tn?^u}Y;($?Oj=fU56YK4Vxq>KliUPjj3+A}*t2I^H z4yuqg6=S6{u#G(ycRP|p+n2lEm9z#bah{zes z&Epfv*jKLeq_GYfKtnAM5mo8;?o+!Mr=h~`ZKtMn)~D4{ne;@g=#14XDydQQQ_FwI z#Fy&h0#so_m_%SVlb*@@4j(Q{o+7TdF(ygh#X@;726jbyzikIJ@$x*(AO(9(jK6>Zv)8G1BDVoIU$TC7sjyvMykPO(H{U%xKNZi`L zq$T5j)p%Rr$p^`h+|clOdOyZ>j+~(B$fdd8mRKx~+a(j@-Y9|+cAQCRS)^k4(!l&V zH)f^iNZvS^vyGlE2_;pp+(DL^USKt2Vw>3%vh)G=Ch>3*A{_f!SLPC3LXsCewo!JX zQ@UGq4!zwm!tThPXMLNm8|rip*^C0r65Ae4vo!~-p9JP`(`DX@yG>>^HZZ^B%iTVb z-}5k&rbed8UNhkvrrO(0xX2Y!>n-kTX(9y<5!b%7;m6Lw6@%@08A(yMihWQe!BixV z1ltB!t*@4?Ugk63kQVY`m{=UC4XTs;W{iK~Q@J#(y7L~%o(Y_bH6?vE=V!g=tP7c3 zvrXiNWIqSYerxV3mJ{MV;2BJX&mb4auK%NQhs(aNwe17n`TiB_Kk$w~{i5$m8~^wp zEKo#=kkb_Vj#JegG_dxR-!H_`1vy_VW>Cy4c@5im`uS#8qn~aLZzJZL8gckMH_!S= zY*^j&a8b{XdKC0N7leVQMvpzV7U?D8M_73W}4m3Zwn zNr&-J7BzeV6+X4U^b;6>6tU{{lk?TlcY+!^S3e{k$QypwnC<9{Zw(weuA`te4)c6H zj`C8kOxAJi9?E-=rJGNX7XWZihS|`J->f% z7Z;&18ex#k>1bk~8vt1Cipyv5rVAVLgk451I~U|t*uX=i=GtBKOC>rFagruy_J&J$ zi`LB7M|*>ef5}9T5_D{BvX$>XI*<1;Gv%p_xqqoGfCz|O6I61K6~!t~+QvO5dP6d! zgyo*3X*;gC#?nRATlLYeM3}dLq}Wb<(Tqs0(S9ItL84HTJ6y zKw2uaUIrr7ilF$+RUG34Lu&LECa^*`)YgR1g-dS_f0b`#>g8}`HVqHqm~TFei3l?D)B4ZVN3Ai*TY19!yl+HR z@RqWg%@2ub#iwN>r!a?KO)q}Hrrsd=cei1kWBA9Aw4GX&4cT9OZZ<`~QHQ-0v-X0h zts}!G0XgZ@-?f50USk;l-4B26<)(dcI9Md1uPzXuN3bk}6p5wD0qVF4-Qw0Ya1 zvZ|(@%8{^pbw$%&?(whZekddT*O3m${#?uTjrSE)9=(C4io$(?{%JX7!BK-6f6&5a z#gt;!$8BmQ*2moVXMuBp*#nO8fVuR79qfy;pFTx+{6M!dhiW*%eSlK_X`GNkF=Z9R zy_cXE-bmSPho?w#iYg4vs0X{qI8Zi!mV4_K`kUoGKC@*7(F6~2mN{of8Xl*+G+(<% zZ)!zM3tC|W=2eedaAZrVM&UK8LRw>5NC@x{>0w$=8ngm(lZujikQRlN?IpyDQUW2eTTL(sGW{Aeqf pCWYD~Fr*Zxb2Zn-ut@_(o@7)1a8 literal 0 HcmV?d00001 diff --git a/app/assets/images/logo-socket.png b/app/assets/images/logo-socket.png new file mode 100644 index 0000000000000000000000000000000000000000..f5864f88474560ba00a6d210be3b5c89f8c4a98f GIT binary patch literal 4683 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 - - - - - - - - + \ No newline at end of file diff --git a/app/assets/images/stone-2.svg b/app/assets/images/stone-2.svg new file mode 100644 index 0000000..5babcec --- /dev/null +++ b/app/assets/images/stone-2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/images/stone-3.svg b/app/assets/images/stone-3.svg new file mode 100644 index 0000000..f63ccda --- /dev/null +++ b/app/assets/images/stone-3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/images/tools.svg b/app/assets/images/tools.svg new file mode 100644 index 0000000..ece41e5 --- /dev/null +++ b/app/assets/images/tools.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/stylesheets/ecosystems.scss b/app/assets/stylesheets/ecosystems.scss index c84f0ff..31b4c64 100644 --- a/app/assets/stylesheets/ecosystems.scss +++ b/app/assets/stylesheets/ecosystems.scss @@ -21,39 +21,14 @@ $color-grey: #DCDCE0; $color-grey-dark: #4C4C61; /* Tokens to override bootstrap colours */ -$bootstrap-primary: $color-purple; -$bootstrap-secondary: $color-grey; -$bootstrap-success: $color-green; -$bootstrap-info: $color-purple-light; -$bootstrap-warning: $color-orange-light; -$bootstrap-danger: $color-orange-dark; -$bootstrap-light: $color-grey-light; -$bootstrap-dark: $color-black; - -/* Bootstrap SCSS colour variables */ -$theme-colors: ( - "primary": $bootstrap-primary, - "secondary": $bootstrap-secondary, - "success": $bootstrap-success, - "info": $bootstrap-info, - "warning": $bootstrap-warning, - "danger": $bootstrap-danger, - "light": $bootstrap-light, - "dark": $bootstrap-dark -); - -/* Bootstrap CSS colour variables */ -:root { - --bs-primary: $bootstrap-primary; - --bs-success: $bootstrap-success; - --bs-danger: $bootstrap-danger; - --bs-warning: $bootstrap-warning; - --bs-info: $bootstrap-info; - --bs-light: $bootstrap-light; - --bs-dark: $bootstrap-dark; - --bs-list-group-border-color: $color-purple-light; - --bs-pagination-color: $color-purple-dark; -} +$primary: $color-purple; +$secondary: $color-grey; +$success: $color-green; +$info: $color-purple-light; +$warning: $color-orange-light; +$danger: $color-orange-dark; +$light: $color-grey-light; +$dark: $color-black; /* Typography */ $font-family-base: "Inter", sans-serif; @@ -73,6 +48,9 @@ $headings-font-weight: 700; $display-font-weight: 900; $lead-font-weight: 400; +$link-color: $color-purple-dark; +$link-hover-color: $color-purple; + $transition-collapse: height .35s ease; $btn-padding-y: 0.5em; @@ -80,6 +58,9 @@ $btn-padding-x: 1em; $btn-font-weight: 600; $btn-color: $color-white; +$badge-font-weight: 400; +$badge-padding-y: 0.4em; + @import "bootstrap"; @mixin spesh-link ( @@ -210,44 +191,12 @@ $btn-color: $color-white; border: 0; } -.alert-primary { - background-color: lighten($color-purple-light, 4%); - color: $color-black; -} - -.alert-secondary { - background-color: $color-grey-light; - color: $color-black; -} - -.alert-success { - background-color: lighten($color-green-light, 8%); - color: darken( $color-green-dark, 25%); -} - -.alert-danger { - background-color: lighten($color-orange-light, 4%); - color: darken( $color-orange-dark, 45%); -} - -.alert-warning { - background-color: lighten($color-orange-light, 12%); - color: darken( $color-orange-dark, 23%); -} - -.alert-info { - background-color: lighten($color-purple-light, 12%); - color: darken( $color-purple-dark, 33%); -} - -.alert-light { - background-color: $color-grey-light; - color: lighten( $color-black, 33%); -} - .alert-dark { background-color: $color-grey-dark; color: $color-white; + a { + color: $color-white; + } } hr { @@ -272,7 +221,6 @@ body { font-optical-sizing: auto; } - .header__global { width: 100%; } @@ -529,12 +477,6 @@ body { font-weight: 800; } -.badge { - background-color: $color-purple-light; - font-weight: normal; - color: $color-black; -} - .well { background-color: $color-grey-light; border-radius: $border-radius; @@ -710,21 +652,10 @@ body { max-width: 150px; } - -//pagination -.page-link { - color: $color-purple-dark; - border-color: $color-grey; - &:hover { - color: $color-purple; - } +.bg-secondary { + color: $color-black; } -.page-link.active, .active > .page-link { - background-color: $color-purple-dark; - border-color: $color-purple-dark; - } - .listing { border: 0; border-radius: 0; @@ -794,3 +725,49 @@ body { border-bottom-right-radius: 800px; } } + + +// Form validation +.invalid-feedback { + color: $color-orange-dark; +} + +.was-validated .form-control:valid, +.form-control.is-valid { + border-color: $color-green-dark; +} + +.valid-feedback { + color: $color-green-darker; +} + +.sidebar { + background-color: $color-grey-light; + p { + @include font-size(1rem); + } + h2 { + @include font-size(1.25rem); + + border-top: 1px solid $color-purple-light; + padding-top: 1rem; + &:first-of-type { + border-top: 0; + padding-top: 0; + } + } + + h3 { + @include font-size(1rem); + + } + + code { + color: $color-purple-dark; + } + + a { + @include spesh-link(); + line-break: anywhere; + } +} \ No newline at end of file diff --git a/lib/tasks/ecosystems.rake b/lib/tasks/ecosystems.rake index b45dc5f..ad47660 100644 --- a/lib/tasks/ecosystems.rake +++ b/lib/tasks/ecosystems.rake @@ -1,6 +1,6 @@ namespace :ecosystems do task :update_shared_assets do - shared_asset_repo = "https://github.com/ecosyste-ms/advisories" + shared_asset_repo = "https://github.com/ecosyste-ms/documentation" branch = "main" temp_dir = "tmp/ecosystems_assets" ecosystems_rake_path = "lib/tasks/ecosystems.rake" @@ -37,7 +37,6 @@ namespace :ecosystems do # Copy required files `cp #{temp_rake_file} #{ecosystems_rake_path}` - `cp #{temp_dir}/app/views/shared/_header.html.erb app/views/shared/` `cp #{temp_dir}/app/views/shared/_footer.html.erb app/views/shared/` `cp #{temp_dir}/app/views/layouts/application.html.erb app/views/layouts/` `cp #{temp_dir}/app/assets/stylesheets/ecosystems.scss app/assets/stylesheets/` @@ -50,7 +49,13 @@ namespace :ecosystems do unless File.exist?(menu_file) `cp #{temp_dir}/app/views/shared/_menu.html.erb #{menu_file}` end - + + # Copy _header.html.erb only if it does not already exist + header_file = "app/views/shared/_header.html.erb" + unless File.exist?(header_file) + `cp #{temp_dir}/app/views/shared/_header.html.erb #{header_file}` + end + # Cleanup `rm -rf #{temp_dir}`