Svg cupcake wrapper template

Confused about grid sizing in admin dashboard

2024.05.17 16:35 2B2B2B2B2B2BA2A2 Confused about grid sizing in admin dashboard

Confused about grid sizing in admin dashboard
Been trying for so long, but I cannot seem to understand why the grids are not aligning as I want them to, according to the project guidelines.
This is the output I am getting-
https://preview.redd.it/rzgh2z33zz0d1.png?width=2844&format=png&auto=webp&s=d5e77fc8d5a6df66647928d8dc32051830259770
  1. Why does the sidebar have all that extra space between the divs? I tried align-items and justify-items and self. But it doesn't seem to do anything.
  2. Why is the project section only taking up 1 row of space when I have allotted it 2 rows of space in grid-row?
Here is the style.css
u/font-face { font-family: "roboto-normal"; src: url("roboto/Roboto-Medium.ttf"); } u/font-face { font-family: "roboto-strong"; src: url("roboto/Roboto-Black.ttf"); } body { font-family: "roboto-normal", Arial, Helvetica, sans-serif; } * { box-sizing: border-box; margin: 0; padding: 0; border: 1px solid black; } img { width: 30px; } .sidebar > div > div > img { filter: invert(1); } .sidebar-main img { width: 40px; } .container { display: grid; grid-template-columns: 1fr 4fr; grid-template-rows: 1fr 5fr; gap: 0px; } .sidebar { display: grid; grid-row: 1 / 5; gap: 20px; padding-left: 20px; background-color: #1992D4; color: #FFFFFF; } .sidebar-main > div, .sidebar-nav > div, .sidebar-foot > div { display: grid; grid-template-columns: 1fr 4fr; align-items: center; justify-items: start; gap: 5px; } .banner { display: grid; grid-template-rows: 1fr 1fr; grid-template-columns: 1fr 4fr 1fr 1fr 2fr; grid-template-areas: "a b b b b b b c c d e" "f g g g g g g g h i j"; align-items: center; gap: 0px 20px; padding-right: 50px; /* justify-items: center; */ } .banner img:nth-child(1){ grid-area: a; justify-self: end; } input { height: 30px; border-radius: 20px; grid-area: b; background-color: #E2E8F0; border-color: #FFFFFF; } .banner img:nth-child(3){ justify-self: end; grid-area: c; } .banner img:nth-child(4){ grid-area: d; width: 80px; justify-self: end; } .banner div:nth-child(5){ grid-area: e; justify-self: end; } .banner img:nth-child(6){ grid-area: f; width: 120px; } button { border-radius: 20px; width:100px; height: 40px; background-color: #1992D4; color: #FFFFFF; } .banner div:nth-child(7){ grid-area: g; } .banner button:nth-child(8){ grid-area: h; } .banner button:nth-child(9){ grid-area: i; } .banner button:nth-child(10){ grid-area: j; } .content { grid-row: 2 / 5; display: grid; grid-template-columns: 5fr 2fr; grid-template-rows: 1fr 1fr; background-color: #E2E8F0; gap: 20px; padding: 20px 20px 30px 20px; } .projects-header { grid-row: 1 / 3; } .projects { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr 1fr; gap: 20px; } .card { background-color: #FFFFFF; } .announcements-header { grid-row: 1 / 2; grid-column: 2 / 3; } .announcements { background-color: #FFFFFF; } .announcements > div { padding-top: 20px; border-top: #000000; } .trending-header { grid-row: 2 / 3; grid-column: 2 / 3; } .trending { background-color: #FFFFFF; display: grid; grid-template-columns: 1fr 2fr; padding: 10px 10px 10px 10px; /* grid-template-rows: 1fr 1fr 1fr 1fr; */ } .trending > div:first-child { display: grid; align-items: center; justify-items: center; /* padding-bottom: 10px; */ } .trending > div:first-child > img { width: 70px; } .trending-content > div { margin-bottom: 10px; } 
Here is the index.html
       Document   
Your Projects

Title of Card

Random random text this is first card whatevrs whatevs text here goes. Random random text this is first card whatevrs whatevs text here goes.

Title of Card

Random random text this is first card whatevrs whatevs text here goes. Random random text this is first card whatevrs whatevs text here goes.

Title of Card

Random random text this is first card whatevrs whatevs text here goes. Random random text this is first card whatevrs whatevs text here goes.

Title of Card

Random random text this is first card whatevrs whatevs text here goes. Random random text this is first card whatevrs whatevs text here goes.

Title of Card

Random random text this is first card whatevrs whatevs text here goes. Random random text this is first card whatevrs whatevs text here goes.

Title of Card

Random random text this is first card whatevrs whatevs text here goes. Random random text this is first card whatevrs whatevs text here goes.
Announcements
Site Mainteneance
This that maintaieanance this and that and whats that this that what what now yes all of that yes okay then
This and That
This that maintaieanance this and that and whats that this that what what now yes all of that yes okay then
Updated Privacy Policy
This that maintaieanance this and that and whats that this that what what now yes all of that yes okay then
submitted by 2B2B2B2B2B2BA2A2 to theodinproject [link] [comments]


2024.05.17 15:41 Comrade_Shrek69420 Failed to emerge x11-libs/extest-1.0.2 while emerging Steam

Greetings, as I was trying to emerge games-util/steam-launcher, I ran into a problem compiling the package x11-libs/extest and have no clue how to get rid of it. Here is the output of emerge --info '=x11-libs/extest-1.0.2::steam-overlay' :

Portage 3.0.64 (python 3.11.9-final-0, default/linux/amd64/23.0/desktop/systemd, gcc-13, glibc-2.39-r6, 6.8.9-gentoo-x86_64 x86_64)

System Settings

System uname: [Linux-6.8.9-gentoo-x86_64-x86_64-Intel-R-_Core-TM-_i5-6300HQ_CPU_@_2.30GHz-with-glibc2.39](mailto:Linux-6.8.9-gentoo-x8664-x86_64-Intel-R-_Core-TM-_i5-6300HQ_CPU@_2.30GHz-with-glibc2.39) KiB Mem: 7998136 total, 2554744 free KiB Swap: 0 total, 0 free Timestamp of repository gentoo: Mon, 13 May 2024 04:30:00 +0000 Head commit of repository gentoo: e13fe9ec8d561a8ebee2069b6c6d35c393d95f47 Timestamp of repository guru: Mon, 13 May 2024 13:33:47 +0000 Head commit of repository guru: 541549df44217b85c16a877a8f010a15f400fbf0
Timestamp of repository steam-overlay: Sun, 12 May 2024 05:07:06 +0000 Head commit of repository steam-overlay: f27a23afac69bac916ca885a7df2e4756bf2c910
Timestamp of repository torbrowser: Sun, 12 May 2024 05:07:06 +0000 Head commit of repository torbrowser: 401bde84939e3a744c7462a769468d3e96aa4f2f
sh bash 5.2_p26-r3 ld GNU ld (Gentoo 2.41 p5) 2.41.0 app-misc/pax-utils: 1.3.7::gentoo app-shells/bash: 5.2_p26-r3::gentoo dev-build/autoconf: 2.13-r8::gentoo, 2.71-r7::gentoo, 2.72-r1::gentoo dev-build/automake: 1.16.5-r2::gentoo dev-build/cmake: 3.29.3::gentoo dev-build/libtool: 2.4.7-r4::gentoo dev-build/make: 4.4.1-r1::gentoo dev-build/meson: 1.4.0-r1::gentoo dev-lang/perl: 5.38.2-r5::gentoo dev-lang/python: 3.11.9::gentoo, 3.12.3::gentoo, 3.13.0_beta1_p1::gentoo dev-lang/rust: 1.77.1::gentoo dev-lang/rust-bin: 1.77.1::gentoo sys-apps/baselayout: 2.15::gentoo sys-apps/sandbox: 2.38::gentoo sys-apps/systemd: 255.6::gentoo sys-devel/binutils: 2.41-r5::gentoo, 2.42-r1::gentoo sys-devel/binutils-config: 5.5::gentoo sys-devel/clang: 17.0.6::gentoo, 18.1.5::gentoo sys-devel/gcc: 13.2.1_p20240503::gentoo sys-devel/gcc-config: 2.11::gentoo sys-devel/lld: 17.0.6::gentoo sys-devel/llvm: 17.0.6::gentoo, 18.1.5::gentoo sys-kernel/linux-headers: 6.8-r1::gentoo (virtual/os-headers) sys-libs/glibc: 2.39-r6::gentoo Repositories:
gentoo location: /vadb/repos/gentoo sync-type: rsync sync-uri: [rsync://rsync.gentoo.org/gentoo-portage](rsync://rsync.gentoo.org/gentoo-portage) priority: -1000 volatile: False sync-rsync-verify-metamanifest: yes sync-rsync-verify-jobs: 1 sync-rsync-verify-max-age: 3 sync-rsync-extra-opts:
guru location: /vadb/repos/guru sync-type: git sync-uri: https://github.com/gentoo-mirroguru.git masters: gentoo volatile: False
steam-overlay location: /vadb/repos/steam-overlay sync-type: git sync-uri: https://github.com/gentoo-mirrosteam-overlay.git masters: gentoo volatile: False
torbrowser location: /vadb/repos/torbrowser sync-type: git sync-uri: https://github.com/gentoo-mirrotorbrowser.git masters: gentoo volatile: False
Binary Repositories:
gentoobinhost priority: 1 sync-uri: https://distfiles.gentoo.org/releases/amd64/binpackages/23.0/x86-64
ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="@FREE" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /uslib64/libreoffice/program/sofficerc /usshare/config /usshare/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d" CXXFLAGS="-march=native -O2 -pipe" DISTDIR="/vacache/distfiles" ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME" FCFLAGS="-march=native -O2 -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-march=native -O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="C.UTF8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs" LEX="flex" MAKEOPTS="-j4 -l4" PKGDIR="/vacache/binpkgs" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/vatmp" RUSTFLAGS="-C opt-level=3 -C target-cpu=native" SHELL="/bin/fish" USE="X a52 aac acl acpi alsa amd64 bluetooth branding bzip2 cairo cdda cdr cet crypt cups custom-cflags custom-optimization dbus dist-kernel dri dts dvd dvdr encode exif flac gdbm gif gpm gtk gui hwaccel iconv icu ipv6 jpeg lcms libnotify libtirpc lto mad mng mp3 mp4 mpeg multilib ncurses nls ogg opengl openmp pam pango pcre pdf pgo pipewire png policykit ppds qt5 readline savedconfig sdl seccomp sound spell ssl startup-notification svg systemd systemd-boot test-rust tiff truetype udev udisks unicode upower usb vorbis vulkan wayland wxwidgets x264 xattr xcb xft xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 aes avx avx2 f16c fma3 pclmul popcnt rdrand sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 ntrip navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" INPUT_DEVICES="synaptics libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-1" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_11" PYTHON_TARGETS="python3_11" RUBY_TARGETS="ruby31" VIDEO_CARDS="nvidia intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account" Unset: ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, SIZE, STRINGS, STRIP, YACC, YFLAGS
The complete buildlog:

[32m * #[39;49;00mPackage: x11-libs/extest-1.0.2:0

[32m * #[39;49;00mRepository: steam-overlay

[32m * #[39;49;00mUSE: abi_x86_32 abi_x86_64 amd64 elibc_glibc kernel_linux

[32m * #[39;49;00mFEATURES: network-sandbox preserve-libs sandbox userpriv usersandbox

Unpacking source...

[32m*#[0m Loading autocfg-1.1.0.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading bitflags-1.3.2.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading bitvec-1.0.1.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading cc-1.0.83.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading cfg-if-1.0.0.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading dlib-0.5.2.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading downcast-rs-1.2.0.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading evdev-0.12.1.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading funty-2.0.0.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading hermit-abi-0.3.3.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading io-lifetimes-1.0.11.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading libc-0.2.150.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading libloading-0.8.1.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading log-0.4.20.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading memchr-2.6.4.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading memoffset-0.6.5.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading memoffset-0.7.1.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading nix-0.23.2.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading nix-0.26.4.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading once_cell-1.18.0.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading pkg-config-0.3.27.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading proc-macro2-1.0.70.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading quick-xml-0.28.2.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading quote-1.0.33.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading radium-0.7.0.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading scoped-tls-1.0.1.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading smallvec-1.11.2.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading syn-2.0.39.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading tap-1.0.1.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading thiserror-1.0.50.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading thiserror-impl-1.0.50.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading unicode-ident-1.0.12.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading wayland-backend-0.1.2.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading wayland-client-0.30.2.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading wayland-protocols-0.30.1.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading wayland-scanner-0.30.1.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading wayland-sys-0.30.1.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading windows-sys-0.48.0.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading windows-targets-0.48.5.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading windows_aarch64_gnullvm-0.48.5.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading windows_aarch64_msvc-0.48.5.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading windows_i686_gnu-0.48.5.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading windows_i686_msvc-0.48.5.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading windows_x86_64_gnu-0.48.5.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading windows_x86_64_gnullvm-0.48.5.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading windows_x86_64_msvc-0.48.5.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

[32m*#[0m Loading wyz-0.5.1.crate into Cargo registry ...

[A#[200C #[34;01m[ #[32;01mok#[34;01m ]#[0m

Unpacking extest-1.0.2.tar.gz to /vatmp/portage/x11-libs/extest-1.0.2/work Source unpacked in /vatmp/portage/x11-libs/extest-1.0.2/work Preparing source in /vatmp/portage/x11-libs/extest-1.0.2/work/extest-1.0.2 ...

[32m*#[0m Will copy sources from /vatmp/portage/x11-libs/extest-1.0.2/work/extest-1.0.2

[32m*#[0m abi_x86_32.x86: copying to /vatmp/portage/x11-libs/extest-1.0.2/work/extest-1.0.2-abi_x86_32.x86

[32m*#[0m abi_x86_64.amd64: copying to /vatmp/portage/x11-libs/extest-1.0.2/work/extest-1.0.2-abi_x86_64.amd64

Source prepared. Configuring source in /vatmp/portage/x11-libs/extest-1.0.2/work/extest-1.0.2 ...

[32m*#[0m abi_x86_32.x86: running multilib-minimal_abi_src_configure

[32m*#[0m abi_x86_64.amd64: running multilib-minimal_abi_src_configure

Source configured. Compiling source in /vatmp/portage/x11-libs/extest-1.0.2/work/extest-1.0.2 ...

[32m*#[0m abi_x86_32.x86: running multilib-minimal_abi_src_compile

[32m*#[0m cargo build --release --target=i686-unknown-linux-gnu

Compiling autocfg v1.1.0 Compiling proc-macro2 v1.0.70 Running `rustc --crate-name autocfg /vatmp/portage/x11-libs/extest-1.0.2/work/cargo_home/gentoo/autocfg-1.1.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off -C metadata=83b06128b0a4b300 -C extra-filename=-83b06128b0a4b300 --out-dir /vatmp/portage/x11-libs/extest-1.0.2/work/extest-1.0.2-abi_x86_32.x86/target/release/deps -L dependency=/vatmp/portage/x11-libs/extest-1.0.2/work/extest-1.0.2-abi_x86_32.x86/target/release/deps --cap-lints allow` Compiling libc v0.2.150 Compiling unicode-ident v1.0.12 Running `rustc --crate-name build_script_build --edition=2021 /vatmp/portage/x11-libs/extest-1.0.2/work/cargo_home/gentoo/proc-macro2-1.0.70/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="proc-macro"' -C metadata=50035885a8e7fae6 -C extra-filename=-50035885a8e7fae6 --out-dir /vatmp/portage/x11-libs/extest-1.0.2/work/extest-1.0.2-abi_x86_32.x86/target/release/build/proc-macro2-50035885a8e7fae6 -L dependency=/vatmp/portage/x11-libs/extest-1.0.2/work/extest-1.0.2-abi_x86_32.x86/target/release/deps --cap-lints allow` Running `rustc --crate-name build_script_build /vatmp/portage/x11-libs/extest-1.0.2/work/cargo_home/gentoo/libc-0.2.150/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="extra_traits"' --cfg 'feature="std"' -C metadata=e9e3717942e8ea83 -C extra-filename=-e9e3717942e8ea83 --out-dir /vatmp/portage/x11-libs/extest-1.0.2/work/extest-1.0.2-abi_x86_32.x86/target/release/build/libc-e9e3717942e8ea83 -L dependency=/vatmp/portage/x11-libs/extest-1.0.2/work/extest-1.0.2-abi_x86_32.x86/target/release/deps --cap-lints allow` Running `rustc --crate-name unicode_ident --edition=2018 /vatmp/portage/x11-libs/extest-1.0.2/work/cargo_home/gentoo/unicode-ident-1.0.12/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off -C metadata=0cfa1fe52edbc200 -C extra-filename=-0cfa1fe52edbc200 --out-dir /vatmp/portage/x11-libs/extest-1.0.2/work/extest-1.0.2-abi_x86_32.x86/target/release/deps -L dependency=/vatmp/portage/x11-libs/extest-1.0.2/work/extest-1.0.2-abi_x86_32.x86/target/release/deps --cap-lints allow` Compiling cfg-if v1.0.0 Running `rustc --crate-name cfg_if --edition=2018 /vatmp/portage/x11-libs/extest-1.0.2/work/cargo_home/gentoo/cfg-if-1.0.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C metadata=7d515e691a7da296 -C extra-filename=-7d515e691a7da296 --out-dir /vatmp/portage/x11-libs/extest-1.0.2/work/extest-1.0.2-abi_x86_32.x86/target/i686-unknown-linux-gnu/release/deps --target i686-unknown-linux-gnu -L dependency=/vatmp/portage/x11-libs/extest-1.0.2/work/extest-1.0.2-abi_x86_32.x86/target/i686-unknown-linux-gnu/release/deps -L dependency=/vatmp/portage/x11-libs/extest-1.0.2/work/extest-1.0.2-abi_x86_32.x86/target/release/deps --cap-lints allow -C opt-level=3 -C target-cpu=native` error[E0463]: can't find crate for `core` = note: the `i686-unknown-linux-gnu` target may not be installed = help: consider downloading the target with `rustup target add i686-unknown-linux-gnu`
error[E0463]: can't find crate for `compiler_builtins`
For more information about this error, try `rustc --explain E0463`. error: could not compile `cfg-if` (lib) due to 2 previous errors
Caused by: process didn't exit successfully: `rustc --crate-name cfg_if --edition=2018 /vatmp/portage/x11-libs/extest-1.0.2/work/cargo_home/gentoo/cfg-if-1.0.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C metadata=7d515e691a7da296 -C extra-filename=-7d515e691a7da296 --out-dir /vatmp/portage/x11-libs/extest-1.0.2/work/extest-1.0.2-abi_x86_32.x86/target/i686-unknown-linux-gnu/release/deps --target i686-unknown-linux-gnu -L dependency=/vatmp/portage/x11-libs/extest-1.0.2/work/extest-1.0.2-abi_x86_32.x86/target/i686-unknown-linux-gnu/release/deps -L dependency=/vatmp/portage/x11-libs/extest-1.0.2/work/extest-1.0.2-abi_x86_32.x86/target/release/deps --cap-lints allow -C opt-level=3 -C target-cpu=native` (exit status: 1) warning: build failed, waiting for other jobs to finish...

[31;01m*#[0m ERROR: x11-libs/extest-1.0.2::steam-overlay failed (compile phase):

[31;01m*#[0m cargo build failed

[31;01m*#[0m

[31;01m*#[0m Call stack:

[31;01m*#[0m ebuild.sh, line 136: Called src_compile

[31;01m*#[0m environment, line 2461: Called multilib-minimal_src_compile

[31;01m*#[0m environment, line 1669: Called multilib_foreach_abi 'multilib-minimal_abi_src_compile'

[31;01m*#[0m environment, line 1936: Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_compile'

[31;01m*#[0m environment, line 1629: Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_compile'

[31;01m*#[0m environment, line 1627: Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_compile'

[31;01m*#[0m environment, line 525: Called multilib-minimal_abi_src_compile

[31;01m*#[0m environment, line 1663: Called multilib_src_compile

[31;01m*#[0m environment, line 2156: Called cargo_src_compile '--target=i686-unknown-linux-gnu'

[31;01m*#[0m environment, line 850: Called die

[31;01m*#[0m The specific snippet of code:

[31;01m*#[0m "${@}" die "cargo build failed"

[31;01m*#[0m

[31;01m*#[0m If you need support, post the output of `emerge --info '=x11-libs/extest-1.0.2::steam-overlay'`,

[31;01m*#[0m the complete build log and the output of `emerge -pqv '=x11-libs/extest-1.0.2::steam-overlay'`.

[31;01m*#[0m The complete build log is located at '/vatmp/portage/x11-libs/extest-1.0.2/temp/build.log'.

[31;01m*#[0m The ebuild environment file is located at '/vatmp/portage/x11-libs/extest-1.0.2/temp/environment'.

[31;01m*#[0m Working directory: '/vatmp/portage/x11-libs/extest-1.0.2/work/extest-1.0.2-abi_x86_32.x86'

[31;01m*#[0m S: '/vatmp/portage/x11-libs/extest-1.0.2/work/extest-1.0.2'

output of emerge -pqv '=x11-libs/extest-1.0.2::steam-overlay' :
[ebuild N ] x11-libs/extest-1.0.2 USE="-debug" ABI_X86="32 (64) (-x32)"
* IMPORTANT: 22 news items need reading for repository 'gentoo'. * Use eselect news read to view new items.
Thank you, I appreciate your help.
submitted by Comrade_Shrek69420 to Gentoo [link] [comments]


2024.05.17 11:43 SaltMaster1317 Cheap author website with blog, landing pages and email collection

Hello everyone,
Just for context, I am a self-publisher, and ex-googler (20k copies sold - made 100k+ overall). I coded my author website myself, to include the features that I wanted and are important to me, and after a while, I decided to make it available for other publishers to use for their own businesses.
This is how Portal Peek was born. Today it's a website platform to get your fully managed author website/blog to create your presence online and support your growth!
Featuring:
NOTE: This is not a WordPress/Wix/Shopify wrapper or anything like that, I coded it myself.
I'm looking for feedback to improve Portal Peek even more, so I would be happy to hear your opinion!
If you have any questions or suggestions about Portal Peek, (features/pricing, etc.) or simply want to know more about this project, feel free to let me know here or DM me.
submitted by SaltMaster1317 to selfpublishing [link] [comments]


2024.05.17 10:03 UsualSet8535 Free Quick Response Code Generator: How to Create Custom Codes

Free Quick Response Code Generator: How to Create Custom Codes
https://preview.redd.it/mi7uhi1i1y0d1.png?width=2240&format=png&auto=webp&s=627950010ca6cd78ddf301e9407951cc8cc80448

What is a Quick Response (QR) Code?

A Quick Response (QR) code is a type of matrix barcode, also known as a two-dimensional barcode, initially developed in 1994 for the automotive industry in Japan. A QR code comprises black squares arranged in a square grid on a white background. It can be scanned by an imaging device like a camera and decoded using Reed–Solomon error correction until the image can be accurately interpreted. The Free QR Code Generator Online can contain various data, such as text, URL, or other types of information.

Barcodes vs. QR Codes

Barcodes

Barcodes are one-dimensional and consist of parallel lines of varying widths. They can only store information horizontally and typically hold about 20 characters. Barcodes are widely used in retail for product identification and inventory management.

QR Codes

QR codes are two-dimensional, allowing them to store information horizontally and vertically. This design enables QR codes to hold much more data than traditional barcodes—up to 7,089 characters. QR codes can also encode various types of information, such as URLs, text, contact information, and more, making them more versatile than traditional barcodes.

How Do I Create a Quick Response Code?

Creating a QR code is straightforward with the right tools. Here's a step-by-step guide to generating a QR code using a free QR code generator with logo:
  1. Choose a QR Code Generator: Select a reliable and free QR code generator like QRcodebrew.
  2. Select the QR Code Type: Decide what information you want your Social Media QR Code to contain (URL, text, contact details, WiFi credentials, etc.).
  3. Enter the Information: Input the necessary information into the generator.
  4. Customize the QR Code: Customize your QR code's design. Many generators offer options to change the colour, add a logo, or adjust the shape of the code.
  5. Generate the QR Code: Click the generate button to create your QR code.
  6. Download and Use: Download the QR code in your desired format (PNG, SVG, etc.) and use it on your promotional materials, products, or other applications.

Kinds of Custom QR Codes You Can Explore

Custom QR codes can be tailored to fit various needs and aesthetics. Here are a few types you can explore:
  1. Website URL QR Codes: Direct users to a specific website.
  2. Contact Information QR Codes: Share a vCard or straightforward contact details.
  3. Email QR Codes: Create a pre-filled email template for users to send.
  4. Text QR Codes: Display a short message or information.
  5. SMS QR Codes: Pre-fill a text message.
  6. WiFi QR Codes: Share WiFi credentials to allow easy connection.
  7. App Store QR Codes: Direct users to download an app from Google Play or the Apple App Store.
  8. Social Media QR Codes: Link to social media profiles or specific posts.
  9. Event QR Codes: Share event details and allow users to add them to their calendars.
  10. Product QR Codes: Provide additional product information or promotional offers.

Why QRcodebrew is the Best Quick Response Code Generator

User-Friendly Interface

QRcodebrew offers a straightforward and intuitive interface, making it easy for anyone to generate QR codes without technical knowledge.

Customization Options

With QRcodebrew, you can customize your QR codes extensively. You can change colours, add logos, and select different patterns and shapes to make your QR code unique and brand-aligned.

High-Quality Codes

QR codes generated by QRcodebrew are high-resolution. The text can be downloaded in various formats suitable for your needs, including digital and print use.

Free and Accessible

QRcodebrew provides its services for free, making it accessible for small businesses and individuals who want to create professional-quality QR codes without incurring costs.

Robust Error Correction

QRcodebrew uses advanced error correction techniques, ensuring that your QR codes remain scannable even if they are slightly damaged or obscured.

Versatile Applications

Whether you need a QR code for marketing, product information, or QR Code for Personal Use, QRcodebrew caters to many applications, making it a versatile tool for all your QR code needs.

Real-Life Businesses Flaunting Their QR Codes

KitKat

KitKat has integrated QR codes into their packaging creating an interactive experience for their consumers. Customers can access various content such as games, promotions, and brand information by scanning the QR code on a KitKat wrapper. This not only engages the consumers but also strengthens brand loyalty.

PepsiCo

PepsiCo uses QR codes in its marketing campaigns to offer a more immersive experience. For instance, it has included QR codes on its beverage packaging that link to exclusive content, promotional offers, and contests. This strategy has been effective in increasing consumer engagement and driving sales.

Japan Post Holdings

Japan Post Holdings has implemented QR codes to improve customer service and streamline operations. QR codes are used on parcels and letters to provide tracking information. By scanning the QR code, customers can instantly access more information. Get updates on their shipment status, enhancing transparency and customer satisfaction.

QR Code Best Practices to Keep in Mind

When creating and using QR codes, following best practices to ensure their effectiveness is essential. And user-friendly. Here are some tips:
  1. Ensure Scannability: Make sure the QR code is printed in high resolution and is not distorted. The minimum size for a QR code should be 2 x 2 cm.
  2. Add a Call to Action: Encourage users to scan the QR code by adding a clear call to action, such as "Scan to win" or "Scan for more info."
  3. Test the QR Code: Before distributing your QR code, test it with multiple devices and readers to ensure it works correctly.
  4. Provide a Backup URL: If users cannot scan the QR code, provide a backup URL or alternative means to access the information.
  5. Track Performance: Use QR codes that allow tracking so you can measure the effectiveness of your QR code campaigns.
  6. Keep it Simple: Avoid overcrowding your QR code with too much data. More straightforward QR codes are more accessible to scan.
  7. Maintain Contrast: Ensure enough contrast between the Ensure that the QR code has a contrasting background to make it easy to scan.
  8. Optimize for Mobile: Since most QR codes are scanned using mobile devices, ensure the landing pages are mobile-friendly.
  9. Update Content: If you use dynamic QR codes, ensure the content they link to is regularly updated and relevant.

Long Live the Scan: The Enduring Power of QR Codes

Despite being invented in the 1990s, QR codes are relevant and robust tools for various applications. Their versatility and ease of use have ensured their longevity. Here are a few reasons why QR codes remain indispensable:

Contactless Solutions

The COVID-19 pandemic accelerated the adoption of contactless solutions. QR codes have enabled touchless transactions, digital menus, contactless payments, and virtual event registrations.

Enhanced Consumer Engagement

Brands use QR codes to create interactive and engaging experiences for consumers. By linking to videos, augmented reality experiences, and social media, QR codes help brands connect with their audience meaningfully.

Cost-Effective Marketing

QR codes provide a cost-effective method for businesses to distribute information, launch promotions, and monitor campaign performance. You can save money on printed materials by using digital alternatives. They can be updated dynamically, making them a versatile marketing tool.

Streamlined Operations

In logistics, healthcare, and manufacturing industries, QR codes streamline operations by providing quick access to information. They help in tracking inventory, managing assets, and improving overall efficiency.

Eco-Friendly Alternative

QR codes reduce the need for paper-based information dissemination. Businesses can use QR codes to reduce printed materials, contributing to environmental sustainability.

Global Adoption

The widespread adoption of smartphones has made QR codes accessible to a global audience. As smartphone penetration increases, the use of QR codes is expected to grow further.

Conclusion

Creating custom QR codes has always been challenging, thanks to free QR code generators like QRcodebrew. By understanding the differences between barcodes and QR codes, knowing how to generate them, exploring various types of custom QR codes, and following best practices, you can effectively leverage QR codes for your business or personal use. QR codes are a versatile, cost-effective, and enduring tool that continues to drive engagement and streamline processes across various industries. Whether you're a small business or a large corporation, QR codes offer endless possibilities to connect with your audience and enhance their experience.

FAQ

What is a QR code?

A QR code is a two-dimensional barcode that can store a large amount of data, such as URLs, contact information, and text, and can be scanned using a smartphone or QR code reader.

How do I create a QR code with QRcodebrew?

To create a QR code with QRcodebrew, select the type of QR code, enter the required information, customize the design, and click generate. Then, download the QR code in your preferred format.

What types of custom QR codes can I make?

You can create various QR codes, including URL, contact information, email, text, SMS, WiFi, app store, social media, event, and product QR codes.

Why is QRcodebrew a good choice for generating QR codes?

QRcodebrew offers an easy-to-use interface, extensive customization options, high-quality codes, free access, robust error correction, and versatile applications.

What are some best practices for using QR codes?

Ensure scannability, add a call to action, test the QR code, provide a backup URL, track performance, keep it simple, maintain contrast, optimize for mobile, and update content regularly.
What is a Quick Response (QR) Code?
A Quick Response (QR) code is a type of matrix barcode, also known as a two-dimensional barcode, initially developed in 1994 for the automotive industry in Japan. A QR code comprises black squares arranged in a square grid on a white background. It can be scanned by an imaging device like a camera and decoded using Reed–Solomon error correction until the image can be accurately interpreted. The Free QR Code Generator Online can contain various data, such as text, URL, or other types of information.

How Do I Create a Quick Response Code?

Creating a QR code is straightforward with the right tools. Here's a step-by-step guide to generating a QR code using a free QR code generator with logo:
  1. Choose a QR Code Generator: Select a reliable and free QR code generator like QRcodebrew.
  2. Select the QR Code Type: Decide what information you want your Social Media QR Code to contain (URL, text, contact details, WiFi credentials, etc.).
  3. Enter the Information: Input the necessary information into the generator.
  4. Customize the QR Code: Customize your QR code's design. Many generators offer options to change the colour, add a logo, or adjust the shape of the code.
  5. Generate the QR Code: Click the generate button to create your QR code.
  6. Download and Use: Download the QR code in your desired format (PNG, SVG, etc.) and use it on your promotional materials, products, or other applications.

Kinds of Custom QR Codes You Can Explore

Custom QR codes can be tailored to fit various needs and aesthetics. Here are a few types you can explore:
  1. Website URL QR Codes: Direct users to a specific website.
  2. Contact Information QR Codes: Share a vCard or straightforward contact details.
  3. Email QR Codes: Create a pre-filled email template for users to send.
  4. Text QR Codes: Display a short message or information.
  5. SMS QR Codes: Pre-fill a text message.
  6. WiFi QR Codes: Share WiFi credentials to allow easy connection.
  7. App Store QR Codes: Direct users to download an app from Google Play or the Apple App Store.
  8. Social Media QR Codes: Link to social media profiles or specific posts.
  9. Event QR Codes: Share event details and allow users to add them to their calendars.
  10. Product QR Codes: Provide additional product information or promotional offers.
submitted by UsualSet8535 to u/UsualSet8535 [link] [comments]


2024.05.16 16:35 Emln-Idera Secure OCR and Biometrics Integration in Angular

OCR data extraction involves extracting text from scanned documents and text images. These include financial documents, ID cards, passports, medical records, and more. Since these documents contain personally identifiable information (PII), securing OCR data extraction is imperative. Moreover, depending on the country you’re operating in, you may be bound by regulations like GDPR or CCPA to ensure data security. This is where biometrics identification can be beneficial.
Biometrics identification involves confirming the identity of a person through fingerprints, facial recognition or iris scanning. It can serve as a powerful technology to secure OCR-based data extraction security.
If you’re an Angular developer looking to secure your OCR data extraction functionality, this guide is for you. In this guide, we’ll explore how integrating biometric identification with OCR (Optical Character Recognition) can create a powerful system for robust security.

Enhancing OCR with biometric identification in Angular applications

![](https://miro.medium.com/v2/resize:fit:1400/0*gK5dLN9dWcEWf4U8.png align="left")

Security enhancement

Integrating biometric identification with OCR-based data extraction adds an extra layer of security. This integration in Angular apps can significantly enhance access control, identity verification, and authentication processes.
For example, the healthcare industry utilizes OCR to extract extra data from patient records and automate data entry. This digitization of patients’ documents helps improve patient care and streamline administrative processes. By integrating biometric identification, healthcare institutions can ensure the security of sensitive medical information.

Improved verification processes

Integrating biometrics with OCR has significantly enhanced the verification processes in various sectors. These include healthcare, finance, government services, etc.
For instance, the combination has strengthened the security process at airports. OCR is used to accurately extract information from documents like passports, visas, or ID cards. This data can include the traveler’s name, date of birth, passport number, and ID number. This information helps verify a person’s identity. Moreover, biometrics is used to confirm the identity of a person through their fingerprints or facial detection.
Thus, by combining OCR with facial recognition, airport security systems implement a multi-layered authentication process. This process significantly enhances security and reduces the risk of fraudulent activities, such as identity theft or document forgery.
Similarly, the banking/finance sector can utilize biometrics and OCR to prevent fraud. For instance, a fraudster can get access to a genuine customer’s checkbook and forge their signature. While the OCR will extract the person’s signature accurately, biometric authentication can prevent unauthorized transactions by confirming the identity through fingerprints or facial detection. This means even if OCR successfully extracts accurate data from forged or stolen documents, biometric authentication helps detect and prevent fraudulent activities.

Automation and efficiency

Another benefit of integrating OCR with biometric identification is that it automates and speeds up the authentication process. The manual verification process is time-consuming and prone to human error. This results in delays and inefficiencies.
Users can quickly authenticate themselves using biometrics, while OCR extracts relevant information from documents in real time.
Take, for example, a personal finance management app. Users can scan their receipts using OCR. They can then authenticate transactions using fingerprint or facial recognition. This automation reduces the need for manual data entry and verification. Thus, it saves time and enhances the user experience.

Choosing OCR and biometric solutions

When choosing an OCR software solution and a biometric solution for your Angular app, consider the following factors can help:
Also read: Filestack OCR Guide for Text Extraction & Recognition.

Popular OCR and biometrics technologies for Angular

OCR solutions for Angular

![](https://miro.medium.com/v2/resize:fit:1400/0*T-KidbL7LTU0rBcS.png align="left")

Tesseract.js

Tesseract.js is one of the most popular options when it comes to OCR for Angular. It is an open-source OCR library for JavaScript to perform data extraction from text images or documents. Essentially, Tesseract.js supports functionalities to process images and recognize text content. It provides the extracted text in a machine-readable format.
Tesseract.js is easy to integrate into JavaScript/Angular apps. Moreover, it utilizes the Tesseract OCR engine, which is widely recognized for its high accuracy.

AWS Textract

AWS Textract is a fully managed OCR service by Amazon Web Services (AWS). It leverages machine learning algorithms to extract text and data automatically from:
You can integrate AWS Textract into Angular apps by using AWS SDK for JavaScript.

Biometric solutions

Crossmatch DigitalPersona SDK

Crossmatch DigitalPersona provides a U.are.U SDK. The SDK enables developers to add fingerprint capture and recognition capabilities to their apps. Crossmatch also offers a JavaScript API to integrate fingerprint identification into web apps. Apps can get fingerprint data from a compatible fingerprint reader connected to the user’s device.
Here are the key features of Crossmatch DigitalPersona SDK

Microsoft Azure Face API

Microsoft Azure Face API is a cloud-based facial detection and recognition service provided by Microsoft Azure. It allows you to detect, identify, and compare faces in images or videos, enabling biometric authentication based on facial features.

Filestack: A cloud-based solution

You can also utilize a cloud-based solution like Filestack to streamline your file management, delivery, image processing, and OCR processes. Filestack offers a diverse range of powerful tools and APIs for:
Filestack also offers a specialized Angular SDK, which is updated for Angular 14. This enables developers to integrate Filestack service and functionality into their Angular apps seamlessly. “filestack-angular” is essentially a wrapper on filestack-js SDK. The Angular component supports almost everything that the filestack-js supports.

Filestack OCR

Filestack offers robust OCR capabilities as a part of its intelligence services. You can use the OCR via Filestack processing API.
Filestack’s OCR is powered by advanced machine learning models and neural networks to recognize and extract text with high accuracy. It has an advanced digital image analysis system, and it accurately detects features character by character. Additionally, Filestack OCR leverages sophisticated document detection and pre-processing solutions. This enables it to detect complex documents, including rotated, folded, and wrinkled documents.
The illustration below shows how Filestack OCR works:
![](https://miro.medium.com/v2/resize:fit:1400/0*2C0Kl7hsR_k3fm8X align="left")

Advanced image processing

Filestack supports a wide range of advanced image processing and enhancement techniques. These include:
Filestack preprocessing features can be used to enhance the images and improve the accuracy of OCR and biometric analysis. Moreover, Filestack utilizes a robust CDN to deliver images quickly and efficiently to users worldwide.

Filestack Security

Filestack implements robust security mechanisms to ensure your data is always secure and protected. Here are Filestack’s key security features:

Integrating OCR and biometrics into Angular applications

Code snippets

Here, we’ll show you how to integrate Filestack File uploader in Angular apps and use Filestack OCR.
Install Filestack SDK:
xml npm install filestack-js npm install @filestack/angular
Include FilestackModule in app.module.ts:
```xml import { BrowserModule } from '@angulaplatform-browser';
import { NgModule } from '@angulacore'; import { AppComponent } from './app.component'; import { FilestackModule } from '@filestack/angular'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, FilestackModule.forRoot({ apikey: YOUR_APIKEY, options: ClientConfig }) ], bootstrap: [AppComponent] }) export class AppModule {} ```
Use in .html file:
xml
You can then perform OCR on uploaded images using the following CDN URL:
xml https://cdn.filestackcontent.com/security=p:,s:/oc
You can also integrate an OCR library with a biometric module within an Angular component.
Here is an example of how Filestack OCR data extraction works:
Input image:
![](https://miro.medium.com/v2/resize:fit:1400/0*mZjcg9V9zmfdwVO6.png align="left")
Output:
![](https://miro.medium.com/v2/resize:fit:754/0*ulGoNGaxFzXQvB9o.png align="left")

Building scalable and secure applications with Angular

  • Leverage Angular’s component-based architecture to create modular and reusable components for image and document processing, OCR, and biometrics tasks.
  • Implement lazy loading to load Angular modules and components dynamically as needed.
  • Manage the app state efficiently. This is especially important for complex workflows and high-volume data processing tasks. You can utilize state management libraries like NgRx or Akita for efficient state management.
  • Implement security best practices to safeguard sensitive data. These can include HTTPS for secure communication, data encryption, and proper authentication and authorization mechanisms for access control. This is especially crucial for OCR and biometric workflows as they deal with personally identifiable information.
  • Implement robust error handling mechanisms to handle errors efficiently.

Conclusion

OCR data extraction involves extracting textual information or structured data from documents, such as financial documents, ID cards, and passports. This extracted data is often used for identification verification. However, this process can be at risk from fraudulent activities like forged documents or stolen identities. Fortunately, we can enhance the security of OCR data extraction with biometrics integration. This will ensure that even if OCR extracts information from stolen or forged documents accurately, biometric authentication will detect and prevent fraudulent activities.
Sign up for Filestack and leverage its OCR today for your business!

FAQs

What is the meaning of OCR extraction?

OCR data extraction means extracting text from scanned documents (printed or handwritten) and text images automatically.

What is the difference between data extraction and OCR?

In traditional data extraction, a person extracts information from documents manually. OCR automates this process using AI and ML-based feature extraction and text recognition algorithms.

How can OCR and biometrics improve the identity verification process?

The combination of biometrics identification and OCR data extraction can significantly enhance identity verification and business processes. OCR data capture can be used to verify identity from a scanned document like a passport or ID card. Biometrics confirms the identity of a person through fingerprints or facial detection. This adds a multi-factor authentication mechanism.
submitted by Emln-Idera to fileuploaders [link] [comments]


2024.05.16 11:45 mame_is_me yt_dlp fail with any youtube video

Any idea why it fails on every youtube video? Using v3.9 with pip install yt_dlp -U
the error is
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out UTF-8 (No ANSI), error UTF-8 (No ANSI), screen UTF-8 (No ANSI) [debug] yt-dlp version stable@2024.04.09 from yt-dlp/yt-dlp [ff0779267] (pip) API [debug] params: {'verbose': True, 'compat_opts': set(), 'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.24 Safari/537.36', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language': 'en-us,en;q=0.5', 'Sec-Fetch-Mode': 'navigate'}} [debug] Python 3.9.19 (CPython x86_64 64bit) - macOS-10.15.7-x86_64-i386-64bit (OpenSSL 3.0.13 30 Jan 2024) [debug] exe versions: none [debug] Optional libraries: Cryptodome-3.20.0, brotli-1.1.0, certifi-2024.02.02, mutagen-1.47.0, requests-2.31.0, sqlite3-3.45.3, urllib3-2.2.1, websockets-12.0 [debug] Proxy map: {} [debug] Request Handlers: urllib, requests, websockets [debug] Loaded 1810 extractors [youtube] Extracting URL: [youtube] ZrQJaLemaoE: Downloading webpage https://www.youtube.com/watch?v=ZrQJaLemaoE WARNING: [youtube] unable to extract initial player response; please report this issue on , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U https://github.com/yt-dlp/yt-dlp/issues?q= [youtube] ZrQJaLemaoE: Downloading ios player API JSON WARNING: [youtube] ZrQJaLemaoE: Failed to parse JSON (caused by JSONDecodeError("Expecting value in '': line 1 column 1 (char 0)")); please report this issue on , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U https://github.com/yt-dlp/yt-dlp/issues?q= [youtube] ZrQJaLemaoE: Downloading android player API JSON WARNING: [youtube] ZrQJaLemaoE: Failed to parse JSON (caused by JSONDecodeError("Expecting value in '': line 1 column 1 (char 0)")); please report this issue on , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U https://github.com/yt-dlp/yt-dlp/issues?q= [youtube] ZrQJaLemaoE: Downloading iframe API JS WARNING: [youtube] unable to extract player version; please report this issue on , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U https://github.com/yt-dlp/yt-dlp/issues?q= [youtube] ZrQJaLemaoE: Downloading web player API JSON WARNING: [youtube] ZrQJaLemaoE: Failed to parse JSON (caused by JSONDecodeError("Expecting value in '': line 1 column 1 (char 0)")); please report this issue on , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U ERROR: [youtube] ZrQJaLemaoE: Failed to extract any player response; please report this issue on , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U File "/uslocal/anaconda3/envs/py39/lib/python3.9/site-packages/yt_dlp/extractocommon.py", line 734, in extract ie_result = self._real_extract(url) File "/uslocal/anaconda3/envs/py39/lib/python3.9/site-packages/yt_dlp/extractoyoutube.py", line 4079, in _real_extract webpage, master_ytcfg, player_responses, player_url = self._download_player_responses(url, smuggled_data, video_id, webpage_url) File "/uslocal/anaconda3/envs/py39/lib/python3.9/site-packages/yt_dlp/extractoyoutube.py", line 4043, in _download_player_responses player_responses, player_url = self._extract_player_responses( File "/uslocal/anaconda3/envs/py39/lib/python3.9/site-packages/yt_dlp/extractoyoutube.py", line 3733, in _extract_player_responses raise ExtractorError('Failed to extract any player response') https://github.com/yt-dlp/yt-dlp/issues?q=https://github.com/yt-dlp/yt-dlp/issues?q= --------------------------------------------------------------------------- ExtractorError Traceback (most recent call last) File /uslocal/anaconda3/envs/py39/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py:1606, in YoutubeDL._handle_extraction_exceptions..wrapper(self, *args, **kwargs) 1605 try: -> 1606 return func(self, *args, **kwargs) 1607 except (DownloadCancelled, LazyList.IndexError, PagedList.IndexError): File /uslocal/anaconda3/envs/py39/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py:1741, in YoutubeDL.__extract_info(self, url, ie, download, extra_info, process) 1740 try: -> 1741 ie_result = ie.extract(url) 1742 except UserNotLive as e: File /uslocal/anaconda3/envs/py39/lib/python3.9/site-packages/yt_dlp/extractocommon.py:734, in InfoExtractor.extract(self, url) 732 self.to_screen('Extracting URL: %s' % ( 733 url if self.get_param('verbose') else truncate_string(url, 100, 20))) 734 ie_result = self._real_extract(url) 735 if ie_result is None: File /uslocal/anaconda3/envs/py39/lib/python3.9/site-packages/yt_dlp/extractoyoutube.py:4079, in YoutubeIE._real_extract(self, url) 4077 webpage_url = base_url + 'watch?v=' + video_id -> 4079 webpage, master_ytcfg, player_responses, player_url = self._download_player_responses(url, smuggled_data, video_id, webpage_url) 4081 playability_statuses = traverse_obj( 4082 player_responses, (..., 'playabilityStatus'), expected_type=dict) File /uslocal/anaconda3/envs/py39/lib/python3.9/site-packages/yt_dlp/extractoyoutube.py:4043, in YoutubeIE._download_player_responses(self, url, smuggled_data, video_id, webpage_url) 4041 master_ytcfg = self.extract_ytcfg(video_id, webpage) or self._get_default_ytcfg() -> 4043 player_responses, player_url = self._extract_player_responses( 4044 self._get_requested_clients(url, smuggled_data), 4045 video_id, webpage, master_ytcfg, smuggled_data) 4047 return webpage, master_ytcfg, player_responses, player_url File /uslocal/anaconda3/envs/py39/lib/python3.9/site-packages/yt_dlp/extractoyoutube.py:3733, in YoutubeIE._extract_player_responses(self, clients, video_id, webpage, master_ytcfg, smuggled_data) 3732 elif not prs: -> 3733 raise ExtractorError('Failed to extract any player response') 3734 return prs, player_url ExtractorError: [youtube] ZrQJaLemaoE: Failed to extract any player response; please report this issue on , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U During handling of the above exception, another exception occurred: DownloadError Traceback (most recent call last) Cell In[14], line 11 3 ydl_opts = { 4 'verbose': True, 5 #"write_auto_sub":True, (...) 8 #"output":'/tmp/sub.txt', 9 } 10 with yt_dlp.YoutubeDL(ydl_opts) as ydl: - 11 ydl.download(url) File /uslocal/anaconda3/envs/py39/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py:3572, in YoutubeDL.download(self, url_list) 3569 raise SameFileError(outtmpl) 3571 for url in url_list: -> 3572 self.__download_wrapper(self.extract_info)( 3573 url, force_generic_extractor=self.params.get('force_generic_extractor', False)) 3575 return self._download_retcode File /uslocal/anaconda3/envs/py39/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py:3547, in YoutubeDL.__download_wrapper..wrapper(*args, **kwargs) 3544 @functools.wraps(func) 3545 def wrapper(*args, **kwargs): 3546 try: -> 3547 res = func(*args, **kwargs) 3548 except UnavailableVideoError as e: 3549 self.report_error(e) File /uslocal/anaconda3/envs/py39/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py:1595, in YoutubeDL.extract_info(self, url, download, ie_key, extra_info, process, force_generic_extractor) 1593 raise ExistingVideoReached() 1594 break -> 1595 return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process) 1596 else: 1597 extractors_restricted = self.params.get('allowed_extractors') not in (None, ['default']) File /uslocal/anaconda3/envs/py39/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py:1624, in YoutubeDL._handle_extraction_exceptions..wrapper(self, *args, **kwargs) 1622 self.report_error(msg) 1623 except ExtractorError as e: # An error we somewhat expected -> 1624 self.report_error(str(e), e.format_traceback()) 1625 except Exception as e: 1626 if self.params.get('ignoreerrors'): File /uslocal/anaconda3/envs/py39/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py:1073, in YoutubeDL.report_error(self, message, *args, **kwargs) 1068 def report_error(self, message, *args, **kwargs): 1069 ''' 1070 Do the same as trouble, but prefixes the message with 'ERROR:', colored 1071 in red if stderr is a tty file. 1072 ''' -> 1073 self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs) File /uslocal/anaconda3/envs/py39/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py:1012, in YoutubeDL.trouble(self, message, tb, is_error) 1010 else: 1011 exc_info = sys.exc_info() -> 1012 raise DownloadError(message, exc_info) 1013 self._download_retcode = 1 DownloadError: ERROR: [youtube] ZrQJaLemaoE: Failed to extract any player response; please report this issue on , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -Uhttps://github.com/yt-dlp/yt-dlp/issues?q=https://github.com/yt-dlp/yt-dlp/issues?q= 
submitted by mame_is_me to youtubedl [link] [comments]


2024.05.16 11:40 TechTinkerer23 🌟Exiting news! Introducing Wonderlist Design — 127 Figma Templates For Your Projects 🚀

🌟Exiting news! Introducing Wonderlist Design — 127 Figma Templates For Your Projects 🚀
Hey everyone! Today, we're thrilled to unveil Wonderlist Design—a curated collection of 127 Website Designs in Figma crafted to elevate your design projects effortlessly.
Designing captivating websites is vital, but it shouldn't consume all your time. With Wonderlist Design, you can access stunning templates for SaaS, Agency, Portfolio, and more, allowing you to focus on what truly matters—creating remarkable digital experiences!
Link: https://l.azwedo.com/Wonderlist-Design
Why Wonderlist Design? ✨ 127 Ready-to-Use Figma Templates ✨ Tailored Designs for Every Project ✨ Complete with Font Styles, Icons & Logos ✨ PNG & SVG Formats for Flexibility
https://preview.redd.it/g5llflo39r0d1.png?width=1600&format=png&auto=webp&s=2675b15f5edd0345b05ad84c2834c32fda76757e
submitted by TechTinkerer23 to FigmaDesign [link] [comments]


2024.05.16 09:04 Reception-Recent Help with Table of Contents and Chapter Headings Formatting:

I'm a beginner and very frustrated. Kindly help me out. I'm trying to replicate my Thesis in LaTeX which was originally written in Microsoft Word. My university does not provide a LaTeX Thesis Template. Forgive any mistakes. This my first post here.
I want to replicate the format as shown in the images below in latex:
For the abstract (frontmatter elements) I wish to have a chapter heading that looks like this (font size 14):
Fig1
For the rest of the chapters i.e., chapter 1, chapter 2 etc. I wish to have the formatting as shown below: Fig2
Finally, I wish to have my table of contents look similar to this (no problem with slight variations). The TOC must not create a blank page above it and continue with the roman numbering: Fig3 Desired list of tables format:
Fig4
Note: I have kept the frontmatter in a separate folder and used the \include command to load in in the main.tex file. My codes are given below:
This is the preamble segment
%-----------------------------------------------------------
%Page and font setup

\documentclass[12pt]{extreport}
\linespread{1.5} %Line spacing 1.5
\usepackage[a4paper, margin=1in]{geometry} %Applied to whole document
\usepackage{times} %Sets main font Times New Roman
\usepackage{anyfontsize} %Use anyfont size in latex
\def\blankpage
{
%\clearpage%
\thispagestyle{empty}%
\addtocounter{page}{-1}%
\null%
\clearpage
} %macro definition used to insert a blank page without affecting the page numbering. (/blankspace)

%-----------------------------------------------------------
%Page orientation, columns and paragraphs

\usepackage{lscape} %Used to make specific pages vertical.
\usepackage{pdflscape} %Used to make specific pages landscape.
\usepackage{multicol} %Enables multiple columns
\usepackage{parskip} %Adds vertical space after paragraph and removes the indentation of the paragraph

%-----------------------------------------------------------
%Graphics

\usepackage{svg} %Can take svg files
\usepackage{graphicx} %Adds figures/graphs
\graphicspath{
{E:/Programming/LaTeX/Thesisproject/Figures/Title_page}
} %Can add multiple paths

%-----------------------------------------------------------
%Tables in document

\usepackage{tabularx} %Used to make column space = line width

%-----------------------------------------------------------
%Tables of contents formatting

\usepackage{titlesec} %Format chapter headings
\usepackage{titletoc} %Alternate headings for TOC

\newcommand{\setupname}[1][\chaptername]
{
\titlecontents{chapter}[0pt]{\vspace{0ex}}
{\bfseries#1~\thecontentslabel:\quad}{\bfseries}
{\bfseries\hfill\contentspage}[]
} %This line of newcommand creates a new style of TOC similar to that of Microsoft Word

\renewcommand{\contentsname}{Table of Contents} %Changes the default Contents style to 'Table of Contents'

\setcounter{tocdepth}{2} %increases TOC number in Contents
\setcounter{secnumdepth}{4} %Enables sub-sub-sub sections i.e., (1.1.1.1.1)
%This is the main body
%-----------------------------------------------------------
\begin{document}
\include{FrontmatteTitlepage1}
\include{FrontmatteTitlepage2}
\include{FrontmatteTitlepage3}
\include{FrontmatteTitlepage4}
\include{FrontmatteCertification}
\pagenumbering{roman} %begins roman page numbering from here
\include{FrontmatteAcknowledgement}
\include{FrontmatteAbstract}
\tableofcontents
%List of tables will go here
%List of figures will go here
% include list of abbreviation segment
\setupname
\chapter{This is the first chapter}
\pagenumbering{arabic}
\setcounter{page}{1}
\section{title}
\subsection{sub-secion-title}
\subsubsection{sub-sub-section}
\setupname
\chapter{Annexure}
\pagenumbering{Alph}
\setcounter{page}{1}
\end{document}
submitted by Reception-Recent to LaTeX [link] [comments]


2024.05.16 00:56 SultanOfWessex vite-svg-loader wrapper for Vue components in Astro project?

I'm curious if anybody's got vite-svg-loader working in Astro, specifically for use in Vue components?
I found it to be very useful as an abstraction to load/bundle SVG icons in Vite-based Vue projects without having to convert each SVG file to a Vue component first, or import a whole bunch of SVGs; it's not my idea, I picked it up from this Stack Overflow thread.
I'm trying to adapt it to Astro as shown in the setup below. I aim to use it in parallel with the Astro Icon integration – the Astro Icon integration will serve Astro components, while the SVGIcon component will serve other Vue components.
SVGIcon.vue
  
astro.config.ts
... import svgLoader from 'vite-svg-loader' ... export default defineConfig({ ..., vite: { plugins: [ svgLoader() ] } }); 
Usage in Vue component template:
 Use ./src/icons/xyz.svg icon (render inline)  
submitted by SultanOfWessex to astrojs [link] [comments]


2024.05.15 17:39 PoorbandTony YAML pipeline - confused over Pipeline vs Release options for web app

Hi,
I'm not new to devops - but I am new to setting up IaC and configuring the resource groups etc.
With that in mind, at the moment I'm scripting out (in bicep) the creation of the resource group, dependencies etc. - which is all fine and works a treat.
I'm now writing the yaml pipeline to execute the bicep - which is also fine.
However, the bit I can't quite get my head around is the change to our working practices we'll have to make. At the moment, all of our builds and releases use the classic pipelines. The Releases give us the flexibility to roll back to a previous version using the published artefacts - which is fantasic.
Now with this new (kind of all-in-one) pipeline, my intention was to run the bicep - create everything - then deploy the latest release for that environment to the newly created (or not) web app.
So there's a few things I'm not sure about:
Any thoughts or advice on how you tackle similar scenarios would be very much appreciated - very new to IaC.
Thanks in advance!
Tony
*Edit*
So here's an example of what I'm doing at the moment. This doesn't have artifacts - so it doesn't 'count' - but it shows what I'm thinking for an appservice that does have artifacts. This my first full yaml pipeline calling the bicep templates to deploy a logic app and it's dependencies:
Wrapper YAML
pool: vmImage: windows-latest parameters: - name: environment displayName: Environment type: string default: Dev values: - Dev - Uat - Prod - name: deploymentType displayName: Deployment Type type: string default: Deploy values: - Deploy - Teardown - name: location displayName: Location type: string default: uksouth values: - uksouth - ukwest - name: additionalArgs displayName: Additional Args for Azure CLI Command default: ' ' type: string variables: - name: environment ${{ if eq(variables['build.reason'], 'Schedule') }}: value : ${{ split(variables['build.cronSchedule.displayName'], '_')[0]}} ${{ if eq(variables['build.reason'], 'Manual') }}: value: ${{ parameters.environment }} - name: deploymentType ${{ if eq(variables['build.reason'], 'Schedule') }}: value : ${{ split(variables['build.cronSchedule.displayName'], '_')[1]}} ${{ if eq(variables['build.reason'], 'Manual') }}: value: ${{ parameters.deploymentType }} - name: location ${{ if eq(variables['build.reason'], 'Schedule')}}: value: 'uksouth' ${{ if eq(variables['build.reason'], 'Manual') }}: value: ${{ parameters.location }} - name: locationAbbreviation ${{ if eq(parameters.location, 'uksouth')}}: value: 'uks' ${{ if eq(parameters.location, 'ukwest')}}: value: 'ukw' - name: additionalArgs value: ' ' name: ${{ format('{0} Nightly Checks - {1}', variables.deploymentType, variables.environment) }} stages: - template: xxx-logic-pipeline.yml parameters: environment: ${{ variables.environment }} deploymentType: ${{ variables.deploymentType }} location: ${{ variables.location }} locationAbbreviation : ${{ variables.locationAbbreviation}} additionalArgs: ${{ variables.additionalArgs }} deployTitle: ${{ format('Deploy Nightly Checks - {0}', variables.environment) }} teardownTitle: ${{ format('Teardown Nightly Checks - {0}', variables.environment) }} schedules: - cron: "00 00 * * 1" displayName: "Dev_Deploy" always: true branches: include: - main - cron: "00 4 * * 5" displayName: "Dev_Teardown" always: true branches: include: - main 
Which in turn calls this template:
parameters: - name: environment displayName: Environment type: string - name: deploymentType displayName: Deployment Type type: string - name: location displayName: Location type: string - name: locationAbbreviation displayName: Location Abbreviation type: string - name: additionalArgs displayName: Additional Args for Azure CLI Command default: ' ' type: string - name: deployTitle type: string - name: teardownTitle type: string stages: - stage: DeployNightlyChecks displayName: 'Deploy Nightly Checks' condition: ${{ eq(parameters.deploymentType, 'Deploy') }} jobs: - deployment: displayName: ${{parameters.deployTitle}} environment: ${{parameters.environment}} strategy: runOnce: deploy: steps: - checkout: self lfs: true - task: AzureCLI@2 displayName: ${{parameters.deployTitle}} inputs: azureSubscription: 'xxxxxxxxxx' scriptType: ps scriptLocation: inlineScript inlineScript: Write-Host 'Additional Args to CLI : ${{ parameters.additionalArgs }}'; ` az deployment sub create ` --name "xxx-deploy-${{ parameters.environment }}" ` --location ${{ parameters.location }} ` --template-file ".\xxx.bicep" ` --parameters ".\parameters.${{ parameters.environment }}.json" ${{ parameters.additionalArgs }} - stage: TeardownNightlyChecks displayName: 'Tear Down Nightly Checks' condition: ${{ eq(parameters.deploymentType, 'Teardown') }} jobs: - deployment: displayName: ${{parameters.teardownTitle}} environment: ${{parameters.environment}} strategy: runOnce: deploy: steps: - checkout: self lfs: true - task: AzureCLI@2 displayName: ${{parameters.teardownTitle}} inputs: azureSubscription: 'xxx' scriptType: ps scriptLocation: inlineScript inlineScript: $resourceGroupName = "rg-xxx-${{ lower(parameters.environment) }}-${{ lower(parameters.locationAbbreviation) }}"; ` Write-Host "Checking if resource group '$resourceGroupName' exists..."; ` $resourceGroupExists = az group exists --name $resourceGroupName ConvertFrom-Json; ` if ($resourceGroupExists) { ` Write-Host "Resource group '$resourceGroupName' exists. Deleting...";` az group delete --name $resourceGroupName --yes ${{ parameters.additionalArgs }}; ` } else { ` Write-Host "Resource group '$resourceGroupName' does not exist."; ` Write-Error "Error: Resource group '$resourceGroupName' does not exist."; ` Exit 1; ` } 
The template calls this bicep:
@allowed(['uksouth','ukwest']) param location string @allowed(['dev','uat','prod']) param environment string @secure() param xxxDatabaseName string @secure() param xxxDatabaseServerName string // The keys for the keyvault @secure() param xxxUsernameKey string = 'sql-xxx-xxx-user-${environment}' @secure() param xxxPasswordKey string = 'sql-xxx-xxx-pw-${environment}' param keyvaultResourceName string = 'kv-xxx-uat-uks-001' param keyvaultResourceGroup string = 'rg-xxx-shared-uks' var locationSuffix = location == 'uksouth' ? 'uks' : 'ukw' targetScope = 'subscription' resource kvrg 'Microsoft.Resources/resourceGroups@2023-07-01' existing = { name: keyvaultResourceGroup } resource kv 'Microsoft.KeyVault/vaults@2023-07-01' existing = { name: keyvaultResourceName scope: kvrg } resource rg_xxx 'Microsoft.Resources/resourceGroups@2023-07-01' = { name: 'rg-xxx-${environment}-${locationSuffix}' location: location } module logicapp 'modules/xxx/logicApp.bicep' = { name: 'logic-module' scope: rg_xxx params:{ location: location appName: 'logic-xxx-nightchecks-${environment}-${locationSuffix}-001' environment: environment locationSuffix: locationSuffix xxxUsername: kv.getSecret(xxxUsernameKey) xxxPassword: kv.getSecret(xxxPasswordKey) xxxDatabaseName: xxxDatabaseName xxxDatabaseServer: xxxDatabaseServerName } } output appNameOut string = logicapp.outputs.logicAppName output connectionNameOut string = logicapp.outputs.connectionName output apiIdOut string = logicapp.outputs.appConnectionId 
I haven't included the called bicep module as you get the idea (that deploys the logic app and it's dependencies).
So for this purpose - this works fantastic. Schedules work, it's easy to perform a manual vs scheduled run, and so on.
Now, our current setup is that build pipelines are in the Pipelines area of Devops - they then push the artifacts up ready for deployment.
The Release pipelines handle the deployment. My manager etc. like the visibility of what's out there - so Dev/UAT are typically a few builds ahead of Prod - and that's really, really clear.
submitted by PoorbandTony to azuredevops [link] [comments]


2024.05.15 12:39 Reasonable_Boss_4890 LIBRA 2 - Beta Sketch Pad app (Revisited) with SVG based Crosswords and Templates

LIBRA 2 - Beta Sketch Pad app (Revisited) with SVG based Crosswords and Templates submitted by Reasonable_Boss_4890 to kobo [link] [comments]


2024.05.14 16:45 Remote-Area-1267 Are You Interested in SVG Pitfalls?

Hello everyone,
I'm reaching out to the community to gauge interest in a series of articles focusing on SVG pitfalls. The VGG (Very Good Graphics) community is in the process of planning and publishing a series of articles that will delve into various challenges and difficulties encountered when implementing certain effects in SVG.
We have already published one article in this series, and we're looking to see if there's interest from the community to continue. The aim of these articles is to list and introduce some of the more challenging effects to implement in SVG, along with potential solutions and workarounds.
If this is something that piques your interest, please let us know! Your feedback will help us tailor the content to better suit the community's needs. And if there's enough interest, we'll be more than happy to continue with this series and provide more insights into SVG pitfalls.
Looking forward to hearing your thoughts and feedback!
Best regards,
Harry
VGG (Very Good Graphics) Community
Some links about VGG:
  • VGG Specs is an open format for describing vector graphics and UI.
  • VGG Runtime is a C++ implementation of VGG Specs with cross-platform rendering and scripting capabilities.
  • VGG Containers is a set of thin-wrappers and adapters of VGG Runtime for various platforms and frameworks, that provide high-level APIs for developer users.
submitted by Remote-Area-1267 to svg [link] [comments]


2024.05.14 16:00 twoterabytes How do they make these buttons?

In the navbar of this website, when you move from one button to another, the slightly darkened background transitions to the new button you hover over: https://pocket.tailwindui.com/ (and the svg animations)
Or here https://ui.shadcn.com/docs/components/navigation-menu The navbar transitions the whole content smoothly between buttons.
Is there some tricks in Tailwind to make things like this, or just CSS? I've always just used template-esque tools, but I'd love some guidance on learning how to make things like that
submitted by twoterabytes to css [link] [comments]


2024.05.14 12:18 rob_smi PNG export from an SVG string via painting on the canvas only works after several attempts.

I have a mind mapping app that has been running well on Android for a few years now. I have been trying to publish it for iOS and MacOS for some time now. On iOS (as an app) and MacOS (in the browser for testing) I have a problem with the export. The app is a project in Angular, Cordova, Typescript. The problem only occurs in the Safari browser, which is also used in the Cordova version for iOS. I was able to test it on my Mac and an iPhone. The error does not occur on the Mac in Chrome.
The error
If I export a mind map that contains images as an image (.png), the images of the nodes are not displayed in the exports. Everything else in the map is exported correctly, only the images are missing. Only when I export the map three times are the images present in the export. If I add a new image and export it again, the image is only visible in the exported image after 3 exports. It is interesting that the export as SVG, which I also offer, contains the images of the nodes. So the SVG string that I create has all the necessary information.
The base
The mind map consists of various things. HTML and CSS for the frames, lines etc... The images of the nodes are saved as Base64 and each node is in a Foreign Object.
Example of the SVG export
Mindmap with 2 nodes and the Base64 characters of the node images have been replaced with XXX.
        
Test Map 1
test
This is how I create the .png file to be exported.
I can view all this content in the map view of the app. When exporting to an image, I take this information, turn it into an SVG, have the browser draw it on the canvas and then output it as a graphic. Something must be going wrong at this point.
private exportAsImage( mindMap: MindMap, scale?: number, type: string = "png" ): Observable { return new Observable(o => { this.progress.start(this.progress.PROGRESS_MAJOR); this.mmpMap.export(this.mapVizService.getExportClassList(mindMap), (svgStr: string) => { this.exportService.imageFromSVGString(svgStr, type, scale).pipe( switchMap(img => of( Utils.dataURItoFileObject( img.dataUri, `${Utils.sanitizeFilename(mindMap.title)}.${type}` ) ) ), switchMap((fileObject: FileObject) => this.mapsService.saveAsTemp(fileObject, true, { message: this.translate.instant("mdz.mindmap.saveas.message"), // subject: this.translate.instant("mdz.mindmap.saveas.subject"), subject: fileObject.name, url: `www.myURL.com` }, true) ) ).subscribe(() => { this.progress.stop(this.progress.PROGRESS_MAJOR); o.next(); o.complete(); }, err => { this.progress.stop(this.progress.PROGRESS_MAJOR); o.error(err); o.complete(); }); }) }); } 
What I have already tried.
I have already tested various things such as time delays etc..., none of which change anything. It seems to me that it's a combination of the caching and the order or speed at which the images are loaded. Only the speed can't be, because built-in delays don't change anything.
My guess
But it must have something to do with Safari because on the Mac in Chrome it runs without problems... Maybe it can't handle so many base64 images or it exports faster than it renders? Whereby the SVG export contains all the information and when I open the SVG, all the content is also displayed in the browser in seconds. So something must happen when painting on the canvas and outputting as an image.
It doesn't really make sense, I'm really at the end of my ideas. What can you do?
I really hope you can help me. A mind mapping app without image export makes little sense. And since the app otherwise works great, I'm really getting desperate. :(
Thanks a lot!
Rob
submitted by rob_smi to iosdev [link] [comments]


2024.05.14 06:09 AirGroundbreaking131 Can I bake Basque Cheesecake with cupcake wrappers?

Instead of using wax/baking paper, is cupcake wrappers a good substitute?
submitted by AirGroundbreaking131 to AskBaking [link] [comments]


2024.05.14 00:48 Hot_Entertainment695 xmind discount code

Xmind AI (the mind mapping tool) offers currently this 15% off discount promo to its customers.
To apply you need to:
  1. go to this discount page (*coupon code included)
  2. connect, pay, and voila your yearly plan is discounted
If the discount isn't already on the page, you can use the coupon code "MIND15" for a 15% discount.
The Xmind Pro plan offers the following features:
The features included in the Xmind Pro plan remain the same regardless of the price after the discount.
If you apply this 15% discount code "MIND15" to the Xmind Pro plan, the savings would $9 off, means you will pay only $50.99 instead of $59.99!
>> Check this Xmind discount page here!
submitted by Hot_Entertainment695 to aitoolsdeals [link] [comments]


2024.05.13 14:33 conchan Using filters to limit in grids (ultra newbie question)

Working my way through the 21 day portfolio and I am trying to set up the filter so the current page isn't displayed in the grid, but the ui changed from the tutorial and I am unable to figure out the proper procedure. This is on day 7 around 21:35.
At the moment I have the filter set as seen in the screenshot.
Project > Does Not Equal > Current Project
Is using "Current Project" the proper terminology?
https://preview.redd.it/f7pfh99ot60d1.png?width=2880&format=png&auto=webp&s=93efc34cdfdb6e00fb538240f9d7f45f453ec786
Thanks for reading.
The read only link.
submitted by conchan to webflow [link] [comments]


2024.05.13 02:06 realazthat CLI to embed code snippets in your README, from actual (testable) code

What My Project Does

What My Project Does: snipinator is a CLI to embed (testable) snippets from your codebase into your README, using Jinja2 and functions provided by snipinator to assist with embedding code, shell output, etc.
Please provide any feedback in the comments or GH issues.

Target Audience

Target Audience: Developers of {GitHub,other} projects that have a README. It works for me, it might work for you.

Comparison

Features:
I keep a table of similar projects in my README at realazthat/snipinator: Related Projects.
Not complete, and not necessarily up to date. Make a PR to README.md.jinja, (see realazthat/snipinatoContributions) to insert/modify the table.
Project Stars Last Update Language Platform Similarity X Obviousness
mdx-js/mdx 16.8k 2024/04/17 JS N/A ⭐⭐⭐⭐⭐
zakhenry/embedme 222 2023/11/08 JS N/A ⭐⭐⭐⭐⭐
cmacmackin/markdown-include 95 2023/02/07 Python N/A ⭐⭐⭐⭐⭐
BurdetteLamamarkdown_helper 38 2020/03/16 Ruby N/A ⭐⭐⭐⭐⭐
SimonCropp/MarkdownSnippets 23 2024/04/23 .NET N/A ⭐⭐⭐⭐⭐
endocode/snippetextractor 4 2014/08/16 C++ N/A ⭐⭐⭐⭐⭐
polywrap/doc-snippets 3 2023/09/26 JS N/A ⭐⭐⭐⭐⭐
JulianCataldo/remark-embed 2 2022/09/22 JS N/A ⭐⭐⭐⭐⭐
xrd/oreilly-snippets 2 2015/10/15 Ruby N/A ⭐⭐⭐⭐⭐
DamonOehlman/injectcode 1 2021/08/01 JS N/A ⭐⭐⭐⭐⭐
electrovimarkdown-code-example-inserter 1 2024/02/19 JS N/A ⭐⭐⭐⭐⭐
andersfischernielsen/Simple-Embedded-Markdown-Code-Snippets 1 2021/02/12 JS N/A ⭐⭐⭐⭐⭐
ildar-shaimordanov/git-markdown-snippet 0 2021/09/14 Perl N/A ⭐⭐⭐⭐⭐
teyc/markdown-snippet 0 2024/01/22 Powershell N/A ⭐⭐⭐⭐⭐
marc-bouvier-graveyard/baldir_markdown 0 2020/06/15 Python N/A ⭐⭐⭐⭐⭐
dineshsonachalam/markdown-autodocs 176 2022/09/19 JS GH Action ⭐⭐⭐⭐
tokusumi/markdown-embed-code 28 2022/01/05 Python GH Action ⭐⭐⭐⭐
sammndhgridsome-remark-embed-snippet 2 2021/06/14 JS Gridsome ⭐⭐⭐⭐
NativeScript/markdown-snippet-injector 4 2019/01/24 JS N/A ⭐⭐⭐⭐
fuxingloh/remark-code-import-replace 0 2022/12/21 JS Remark? ⭐⭐⭐⭐
szkiba/mdcode 15 2014/02/12 Go N/A ⭐⭐⭐
devincornell/pymddoc 0 2023/12/01 Python Python ⭐⭐⭐
shiftkey/scribble (docs) 40 2013/08/08 .NET N/A ⭐⭐
calebpeterson/jest-transformer-test-md 2 2020/08/21 JS Jest Tests ⭐⭐
tjstankus/commitate 0 2014/05/29 Ruby N/A
GitHub Docs: Creating a permanent link to a code snippet N/A N/A N/A N/A
javierfernandes/markdown-exercises 1 2017/05/01 JS N/A
gatsby-remark-embed-snippet N/A (55k) 2024/01/23 JS Gatsby
ARMmbed/snippet 6 2021/08/05 Python N/A ?
drewavis/markdowninclude 1 2024/04/06 JS VSCode Extension ?
romnn/embedme 0 2024/04/18 Go N/A ?
The 5 star projects have the bare minimum of being able to embed a file, and run via CLI.
Usage:
Example template README: (./snipinatoexamples/EXAMPLE.md.jinja2):
# A README Here is a code snippet: {{ pysnippet(path='snipinatoexamples/code.py', symbol='MyClass', backtickify='py', decomentify='nl') }} Note that `code.py` has a test: {{path('./snipinatoexamples/code_test.py', link='md')}}. 
Generating the README:
$ python -m snipinator.cli -t snipinatoexamples/EXAMPLE.md.jinja2 WARNING: This file is auto-generated by snipinator. Do not edit directly. SOURCE: `snipinatoexamples/EXAMPLE.md.jinja2`. # A README Here is a code snippet: ```py class MyClass: """This is a global class""" def __init__(self, name): self.name = name def MyClassMethod(self): """This is a method of MyClass""" print(self.name) ``` Note that `code.py` has a test: [./snipinatoexamples/code_test.py](./snipinatoexamples/code_test.py). 
submitted by realazthat to Python [link] [comments]


2024.05.12 16:47 Violin-dude Handwritten Notes plugin: how to override default "New Note" name of pdf file during creation?

Handwritten Notes plugin always names a new note "New Note.pdf". I want it to use some other name, possibly using a template with today's date or whatever I specify. Is there a way to do this? Can this be a feature request that can be implemented quickly?
I really like HN over Excalidraw. HN pdf implementation is a lot better in performance than ED's bitmap/SVG.
submitted by Violin-dude to ObsidianMD [link] [comments]


2024.05.12 15:02 NotBoolean C++20 Coroutines - promise_type constructor won't implicitly upcast the implicit parameter "this"

I'm messing around with C++20 Coroutines and I wanted to get access to the member coroutines class reference in the returned promise_type wrapper.
This works fine by providing a constructor in the promise_typelike below (Godbolt):
struct S; class Wrapper { public: class promise_type { S *_s; public: promise_type(S &s) { _s = &s; std::cout << "S Ref " << "\n"; } /* the rest of the promise type */ }; }; struct S { Wrapper base(){ std::cout << "Base" << std::endl; co_return; } }; int main() { S s; auto foo = s.base(); } 
However, this fails when you pass in a derived type (Godbolt):
: In member function 'Wrapper T::sub()': :41:5: error: no matching function for call to 'Wrapper::promise_type::promise_type()' 41 } ^ :14:9: note: candidate: 'Wrapper::promise_type::promise_type(S&)' 14 promise_type(S &s) ^~~~~~~~~~~~ :14:9: note: candidate expects 1 argument, 0 provided :11:11: note: candidate: 'constexpr Wrapper::promise_type::promise_type(const Wrapper::promise_type&)' 11 class promise_type { ^~~~~~~~~~~~ :11:11: note: candidate expects 1 argument, 0 provided :11:11: note: candidate: 'constexpr Wrapper::promise_type::promise_type(Wrapper::promise_type&&)' :11:11: note: candidate expects 1 argument, 0 provided Compiler returned: 1 
This can be fixed with concepts (Godbolt):
template  concept IsDerivedFromBaseRef = std::is_base_of_v>; ... template  promise_type(Derive& derived) requires IsDerivedFromBaseRef { _s = &derived; std::cout << "Derived Ref " << "\n"; } 
Does anyone know why this is? And is my fix using concepts robust?
Cheers
Edit:
This seems to be a GCC bug. On Clang Trunk it works. On GCC Trunk, you get a internal compiler error that has already been reported
submitted by NotBoolean to cpp_questions [link] [comments]


2024.05.12 14:33 Whole_Strike_9800 Meta Link app not installing?

So i went to fire up Meta Quest app this morning (was working fine with my Quest Pro yesterday).
After 4 or 5 attempts at starting with headset unplugged and plugged. Still no luck.
Firewall and Anti-virus both completely shut down.
Updated nVidia drivers.
On a couple of occasions the setup app seemed to be about to start but then the black square in the middle of the desktop just disappeared.
So i uninstalled and deleted ALL oculus and oculus related folders/files on my PC incl. in Users\XXX\AppData\Local, LocalLow and Roaming.
Also deleted all registry entries related to oculus software with Revo Uninstaller.
Several restarts/shutdowns etc. Still oculussetup.exe won't start or crashes after 3-4 seconds.
Searched online.
Tried ALL the steps on this page:
https://smartglasseshub.com/oculus-software-not-installing/
Unplugged all devices except keyboard and mouse.
Nothing works?
See log file text below.
Any help appreciated.
[Debug] [12/05/2024 13:26:58] Starting up _OculusSetup v1.16.0.0. [Debug] [12/05/2024 13:26:58] Command-line arguments: [--setupPath, C:\Users\XXX\Desktop\OculusSetup.exe] [Debug] [12/05/2024 13:26:58] Wrapper path supplied: C:\Users\XXX\Desktop\OculusSetup.exe [Debug] [12/05/2024 13:26:58] Setting locale to 'en-GB' from input locale 'en-GB'. [Debug] [12/05/2024 13:26:58] Setting FBT locale to 'en_GB'. [Debug] [12/05/2024 13:26:58] Setting BCP 47 to 'en-GB'. [Debug] [12/05/2024 13:26:58] Setting canonical IETF tag to 'en-GB-u-rg-gbzzzz'. [Debug] [12/05/2024 13:26:58] Setup action: Install. [Debug] [12/05/2024 13:26:58] Created secure temp directory at 'C:\Users\XXX\AppData\Local\Temp\OculusSetup-216b4951-e09a-463b-8353-ad62c4db8ff9'. [Debug] [12/05/2024 13:26:58] Extracting asset 'libcrypto.dll'. [Debug] [12/05/2024 13:26:58] Extracting asset 'DaybreakNative.dll'. [Debug] [12/05/2024 13:26:58] Extracting asset 'OafIpc.dll'. [Debug] [12/05/2024 13:27:00] Initialising Analytics. [Debug] [12/05/2024 13:27:00] Querying machine metadata. [Debug] [12/05/2024 13:27:00] Anti-virus found: ZoneAlarm Extreme Security Antivirus(262144, Disabled, Up-to-date) [Debug] [12/05/2024 13:27:00] Anti-virus found: Windows Defender(393472, Disabled, Up-to-date) [Fatal] [12/05/2024 13:27:01] Unhandled exception! System.TypeInitializationException: The type initializer for 'System.Windows.Controls.ContentPresenter' threw an exception. - System.InvalidProgramException: JIT Compiler encountered an internal limitation. at System.Windows.Baml2006.WpfSharedBamlSchemaContext.CreateKnownBamlType(String typeName, Boolean isBamlType, Boolean useV3Rules) at System.Windows.Baml2006.WpfSharedBamlSchemaContext.GetKnownXamlType(Type type) at System.Windows.FrameworkElementFactory.set_Type(Type value) at System.Windows.FrameworkElementFactory..ctor(Type type, String name) at System.Windows.Controls.ContentPresenter.CreateAccessTextFactory() at System.Windows.Controls.ContentPresenter..cctor() --- End of inner exception stack trace --- at System.Windows.StyleHelper.ShouldGetValueFromTemplate(DependencyProperty dp) at System.Windows.StyleHelper.GetValueFromStyleOrTemplate(FrameworkObject fo, DependencyProperty dp, EffectiveValueEntry& entry) at System.Windows.StyleHelper.ApplyStyleOrTemplateValue(FrameworkObject fo, DependencyProperty dp) at System.Windows.StyleHelper.InvalidateContainerDependents(DependencyObject container, FrugalStructList`1& exclusionContainerDependents, FrugalStructList`1& oldContainerDependents, FrugalStructList`1& newContainerDependents) at System.Windows.StyleHelper.DoStyleInvalidations(FrameworkElement fe, FrameworkContentElement fce, Style oldStyle, Style newStyle) at System.Windows.StyleHelper.UpdateStyleCache(FrameworkElement fe, FrameworkContentElement fce, Style oldStyle, Style newStyle, Style& styleCache) at System.Windows.FrameworkElement.OnStyleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) at System.Windows.FrameworkElement..ctor() at Daybreak.Gooey.SleekImageButton..ctor(Uri defaultUri, Uri hoverUri) at Daybreak.Gooey.SleekCaptionBar..ctor() at Dawn.Gooey.DawnPanel..ctor(Window window) at Dawn.Gooey.DawnWindow..ctor() at Dawn.DawnController..ctor(Flags flags, Action action) at Dawn.DawnController.ActualMain(String[] args) at Dawn.EntryPoint.Main(String[] args)
[Debug] [12/05/2024 13:27:39] Starting up _OculusSetup v1.16.0.0. [Debug] [12/05/2024 13:27:39] Command-line arguments: [--setupPath, C:\Users\XXX\Desktop\OculusSetup.exe] [Debug] [12/05/2024 13:27:39] Wrapper path supplied: C:\Users\XXX\Desktop\OculusSetup.exe [Debug] [12/05/2024 13:27:39] Setting locale to 'en-GB' from input locale 'en-GB'. [Debug] [12/05/2024 13:27:39] Setting FBT locale to 'en_GB'. [Debug] [12/05/2024 13:27:39] Setting BCP 47 to 'en-GB'. [Debug] [12/05/2024 13:27:39] Setting canonical IETF tag to 'en-GB-u-rg-gbzzzz'. [Debug] [12/05/2024 13:27:39] Setup action: Install. [Fatal] [12/05/2024 13:27:39] Unhandled exception! System.TypeInitializationException: The type initializer for '' threw an exception. - .ModuleLoadException: The C++ module failed to load during appdomain initialization. - System.InvalidProgramException: JIT Compiler encountered an internal limitation. at MS.Internal.TtfDelta.GlobalInit.Init() at CModuleInitialize.{ctor}(CModuleInitialize* , IntPtr cleaningUpFunc) at ?A0x4566221a.InitCmiStartupRunner() at ?A0x4566221a.??__E?A0x4566221a@unused@@YMXXZ() at _initterm_m((fnptr)* pfbegin, (fnptr)* pfend) at .LanguageSupport.InitializePerAppDomain(LanguageSupport* ) at .LanguageSupport._Initialize(LanguageSupport* ) at .LanguageSupport.Initialize(LanguageSupport* ) --- End of inner exception stack trace --- at .LanguageSupport.Initialize(LanguageSupport* ) at .cctor() --- End of inner exception stack trace --- at Dawn.DawnController..ctor(Flags flags, Action action) at Dawn.DawnController.ActualMain(String[] args) at Dawn.EntryPoint.Main(String[] args)
[Debug] [12/05/2024 13:29:21] Starting up _OculusSetup v1.16.0.0.
submitted by Whole_Strike_9800 to QuestPro [link] [comments]


2024.05.12 03:07 Cultural-Flower-877 Ordering Edible Images Online

To those that order 2-2.5 edible images for cupcakes, where do you order from? I found a website where I could edit the template and order all in one swoop but I didn’t save it so now I don’t remember 😪. (Pic for attention)
Any good places for (TX/US) most bakeries are too far for me. And ordering a printer with supplies is out of my budget right now.
submitted by Cultural-Flower-877 to cakedecorating [link] [comments]


http://rodzice.org/