Tumgik
#Zellij
yeesiine · 3 months
Text
Tumblr media
23 notes · View notes
babalmaghrib · 11 months
Text
Tumblr media Tumblr media Tumblr media
The Art, The Artists.
— Behind the scene : « Moroccan Courtyard by Moroccan Craftmen » at the MET Museum, New-York
45 notes · View notes
daemonhxckergrrl · 8 months
Note
emacs is a plague i see a cool bit of software https://zellij.dev/ and i have 0 reason to use it bc i can just use emacs instead and im already more comfortable with it. 1000000 hours spent configuring it.
woag zellij looks cool af (especially the plugin stuff). i can see how being able to do 95% of everything inside your text editor the exact way you want makes anything else seem pointless to try.
vim suffers less from this (though it's absolutely possible to add most things to it, especially neovim bc lua support, and the rest can be done by summoning a floating terminal buffer or launching a shell inside vim), but i find myself trying new software and then changing what handles what.
moving to alacritty means i let my wm handle most of the tabs and splits but can use something like tmux for specific cases. i might look into zellij though - see how it works for me. a lot of my workflow is still in the drafting phase
3 notes · View notes
rawrrkiyomi · 1 year
Text
Tumblr media
IG: @_meicean | Credit: Unknown | my tumblr: x
1 note · View note
Video
youtube
Villa de 3 chambres, 3 SDB sur 400m² Marrakech Route de Fez
0 notes
marrakechriad · 11 months
Text
Tumblr media
A small dipping pool adorned with emerald green Moroccan zellij tiles creates a captivating oasis. The intricately handcrafted tiles form geometric patterns, showcasing the exquisite artistry of Moroccan craftsmanship. The vibrant green hues reflect in the clear water, inviting relaxation and tranquility. Surrounded by lush greenery, this enchanting pool offers a serene escape, immersing guests in the timeless beauty of Moroccan design.
114 notes · View notes
sarahamezian · 11 months
Text
Tumblr media
Tanger au Posca sur une photographie mettant en valeur l’art du zellij, prise dans un spot sympa de la ville.
4 notes · View notes
this-week-in-rust · 9 months
Text
This Week in Rust 510
Hello and welcome to another issue of This Week in Rust! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want something mentioned? Tag us at @ThisWeekInRust on Twitter or @ThisWeekinRust on mastodon.social, or send us a pull request. Want to get involved? We love contributions.
This Week in Rust is openly developed on GitHub and archives can be viewed at this-week-in-rust.org. If you find any errors in this week's issue, please submit a PR.
Updates from Rust Community
Official
Announcing Rust 1.72.0
Change in Guidance on Committing Lockfiles
Cargo changes how arrays in config are merged
Seeking help for initial Leadership Council initiatives
Leadership Council Membership Changes
Newsletters
This Week in Ars Militaris VIII
Project/Tooling Updates
rust-analyzer changelog #196
The First Stable Release of a Memory Safe sudo Implementation
We're open-sourcing the library that powers 1Password's ability to log in with a passkey
ratatui 0.23.0 is released! (official successor of tui-rs)
Zellij 0.38.0: session-manager, plugin infra, and no more offensive session names
Observations/Thoughts
The fastest WebSocket implementation
Rust Malware Staged on Crates.io
ESP32 Standard Library Embedded Rust: SPI with the MAX7219 LED Dot Matrix
A JVM in Rust part 5 - Executing instructions
Compiling Rust for .NET, using only tea and stubbornness!
Ad-hoc polymorphism erodes type-safety
How to speed up the Rust compiler in August 2023
This isn't the way to speed up Rust compile times
Rust Cryptography Should be Written in Rust
Dependency injection in Axum handlers. A quick tour
Best Rust Web Frameworks to Use in 2023
From tui-rs to Ratatui: 6 Months of Cooking Up Rust TUIs
[video] Rust 1.72.0
[video] Rust 1.72 Release Train
Rust Walkthroughs
[series] Distributed Tracing in Rust, Episode 3: tracing basics
Use Rust in shell scripts
A Simple CRUD API in Rust with Cloudflare Workers, Cloudflare KV, and the Rust Router
[video] base64 crate: code walkthrough
Miscellaneous
Interview with Rust and operating system Developer Andy Python
Leveraging Rust in our high-performance Java database
Rust error message to fix a typo
[video] The Builder Pattern and Typestate Programming - Stefan Baumgartner - Rust Linz January 2023
[video] CI with Rust and Gitlab Selfhosting - Stefan Schindler - Rust Linz July 2023
Crate of the Week
This week's crate is dprint, a fast code formatter that formats Markdown, TypeScript, JavaScript, JSON, TOML and many other types natively via Wasm plugins.
Thanks to Martin Geisler for the suggestion!
Please submit your suggestions and votes for next week!
Call for Participation
Always wanted to contribute to open-source projects but did not know where to start? Every week we highlight some tasks from the Rust community for you to pick and get started!
Some of these tasks may also have mentors available, visit the task page for more information.
Hyperswitch - add domain type for client secret
Hyperswitch - deserialization error exposes sensitive values in the logs
Hyperswitch - move redis key creation to a common module
mdbook-i18n-helpers - Write tool which can convert translated files back to PO
mdbook-i18n-helpers - Package a language selector
mdbook-i18n-helpers - Add links between translations
Comprehensive Rust - Link to correct line when editing a translation
Comprehensive Rust - Track the number of times the redirect pages are visited
RustQuant - Jacobian and Hessian matrices support.
RustQuant - improve Graphviz plotting of autodiff computational graphs.
RustQuant - bond pricing implementation.
RustQuant - implement cap/floor pricers.
RustQuant - Implement Asian option pricers.
RustQuant - Implement American option pricers.
release-plz - add ability to mark Gitea/GitHub release as draft
zerocopy - CI step "Set toolchain version" is flaky due to network timeouts
zerocopy - Implement traits for tuple types (and maybe other container types?)
zerocopy - Prevent panics statically
zerocopy - Add positive and negative trait impl tests for SIMD types
zerocopy - Inline many trait methods (in zerocopy and in derive-generated code)
datatest-stable - Fix quadratic performance with nextest
Ockam - Use a user-friendly name for the shared services to show it in the tray menu
Ockam - Rename the Port to Address and support such format
Ockam - Ockam CLI should gracefully handle invalid state when initializing
css-inline - Update cssparser & selectors
css-inline - Non-blocking stylesheet resolving
css-inline - Optionally remove all class attributes
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from the Rust Project
366 pull requests were merged in the last week
reassign sparc-unknown-none-elf to tier 3
wasi: round up the size for aligned_alloc
allow MaybeUninit in input and output of inline assembly
allow explicit #[repr(Rust)]
fix CFI: f32 and f64 are encoded incorrectly for cross-language CFI
add suggestion for some #[deprecated] items
add an (perma-)unstable option to disable vtable vptr
add comment to the push_trailing function
add note when matching on tuples/ADTs containing non-exhaustive types
add support for ptr::writes for the invalid_reference_casting lint
allow overwriting ExpnId for concurrent decoding
avoid duplicate large_assignments lints
contents of reachable statics is reachable
do not emit invalid suggestion in E0191 when spans overlap
do not forget to pass DWARF fragment information to LLVM
ensure that THIR unsafety check is done before stealing it
emit a proper diagnostic message for unstable lints passed from CLI
fix races conditions with SyntaxContext decoding
fix waiting on a query that panicked
improve note for the invalid_reference_casting lint
include compiler flags when you break rust;
load include_bytes! directly into an Lrc
make Sharded an enum and specialize it for the single thread case
make rustc_on_unimplemented std-agnostic for alloc::rc
more precisely detect cycle errors from type_of on opaque
point at type parameter that introduced unmet bound instead of full HIR node
record allocation spans inside force_allocation
suggest mutable borrow on read only for-loop that should be mutable
tweak output of to_pretty_impl_header involving only anon lifetimes
use the same DISubprogram for each instance of the same inlined function within a caller
walk through full path in point_at_path_if_possible
warn on elided lifetimes in associated constants (ELIDED_LIFETIMES_IN_ASSOCIATED_CONSTANT)
make RPITITs capture all in-scope lifetimes
add stable for Constant in smir
add generics_of to smir
add smir predicates_of
treat StatementKind::Coverage as completely opaque for SMIR purposes
do not convert copies of packed projections to moves
don't do intra-pass validation on MIR shims
MIR validation: reject in-place argument/return for packed fields
disable MIR SROA optimization by default
miri: automatically start and stop josh in rustc-pull/push
miri: fix some bad regex capture group references in test normalization
stop emitting non-power-of-two vectors in (non-portable-SIMD) codegen
resolve: stop creating NameBindings on every use, create them once per definition instead
fix a pthread_t handle leak
when terminating during unwinding, show the reason why
avoid triple-backtrace due to panic-during-cleanup
add additional float constants
add ability to spawn Windows process with Proc Thread Attributes | Take 2
fix implementation of Duration::checked_div
hashbrown: allow serializing HashMaps that use a custom allocator
hashbrown: change & to &mut where applicable
hashbrown: simplify Clone by removing redundant guards
regex-automata: fix incorrect use of Aho-Corasick's "standard" semantics
cargo: Very preliminary MSRV resolver support
cargo: Use a more compact relative-time format
cargo: Improve TOML parse errors
cargo: add support for target.'cfg(..)'.linker
cargo: config: merge lists in precedence order
cargo: create dedicated unstable flag for asymmetric-token
cargo: set MSRV for internal packages
cargo: improve deserialization errors of untagged enums
cargo: improve resolver version mismatch warning
cargo: stabilize --keep-going
cargo: support dependencies from registries for artifact dependencies, take 2
cargo: use AND search when having multiple terms
rustdoc: add unstable --no-html-source flag
rustdoc: rename typedef to type alias
rustdoc: use unicode-aware checks for redundant explicit link fastpath
clippy: new lint: implied_bounds_in_impls
clippy: new lint: reserve_after_initialization
clippy: arithmetic_side_effects: detect division by zero for Wrapping and Saturating
clippy: if_then_some_else_none: look into local initializers for early returns
clippy: iter_overeager_cloned: detect .cloned().all() and .cloned().any()
clippy: unnecessary_unwrap: lint on .as_ref().unwrap()
clippy: allow trait alias DefIds in implements_trait_with_env_from_iter
clippy: fix "derivable_impls: attributes are ignored"
clippy: fix tuple_array_conversions lint on nightly
clippy: skip float_cmp check if lhs is a custom type
rust-analyzer: diagnostics for 'while let' loop with label in condition
rust-analyzer: respect #[allow(unused_braces)]
Rust Compiler Performance Triage
A fairly quiet week, with improvements exceeding a small scattering of regressions. Memory usage and artifact size held fairly steady across the week, with no regressions or improvements.
Triage done by @simulacrum. Revision range: d4a881e..cedbe5c
2 Regressions, 3 Improvements, 2 Mixed; 0 of them in rollups 108 artifact comparisons made in total
Full report here
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
Create a Testing sub-team
Final Comment Period
Every week, the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
RFCs
No RFCs entered Final Comment Period this week.
Tracking Issues & PRs
[disposition: merge] Stabilize PATH option for --print KIND=PATH
[disposition: merge] Add alignment to the NPO guarantee
New and Updated RFCs
[new] Special-cased performance improvement for Iterator::sum on Range<u*> and RangeInclusive<u*>
[new] Cargo Check T-lang Policy
Call for Testing
An important step for RFC implementation is for people to experiment with the implementation and give feedback, especially before stabilization. The following RFCs would benefit from user testing before moving forward:
No RFCs issued a call for testing this week.
If you are a feature implementer and would like your RFC to appear on the above list, add the new call-for-testing label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature need testing.
Upcoming Events
Rusty Events between 2023-08-30 - 2023-09-27 🦀
Virtual
2023-09-05 | Virtual (Buffalo, NY, US) | Buffalo Rust Meetup
Buffalo Rust User Group, First Tuesdays
2023-09-05 | Virtual (Munich, DE) | Rust Munich
Rust Munich 2023 / 4 - hybrid
2023-09-06 | Virtual (Indianapolis, IN, US) | Indy Rust
Indy.rs - with Social Distancing
2023-09-12 - 2023-09-15 | Virtual (Albuquerque, NM, US) | RustConf
RustConf 2023
2023-09-12 | Virtual (Dallas, TX, US) | Dallas Rust
Second Tuesday
2023-09-13 | Virtual (Boulder, CO, US) | Boulder Elixir and Rust
Monthly Meetup
2023-09-13 | Virtual (Cardiff, UK)| Rust and C++ Cardiff
The unreasonable power of combinator APIs
2023-09-14 | Virtual (Nuremberg, DE) | Rust Nuremberg
Rust Nürnberg online
2023-09-20 | Virtual (Vancouver, BC, CA) | Vancouver Rust
Rust Study/Hack/Hang-out
2023-09-21 | Virtual (Charlottesville, NC, US) | Charlottesville Rust Meetup
Crafting Interpreters in Rust Collaboratively
2023-09-21 | Lehi, UT, US | Utah Rust
Real Time Multiplayer Game Server in Rust
2023-09-21 | Virtual (Linz, AT) | Rust Linz
Rust Meetup Linz - 33rd Edition
2023-09-25 | Virtual (Dublin, IE) | Rust Dublin
How we built the SurrealDB Python client in Rust.
Asia
2023-09-06 | Tel Aviv, IL | Rust TLV
RustTLV @ Final - September Edition
Europe
2023-08-30 | Copenhagen, DK | Copenhagen Rust Community
Rust metup #39 sponsored by Fermyon
2023-08-31 | Augsburg, DE | Rust Meetup Augsburg
Augsburg Rust Meetup #2
2023-09-05 | Munich, DE + Virtual | Rust Munich
Rust Munich 2023 / 4 - hybrid
2023-09-14 | Reading, UK | Reading Rust Workshop
Reading Rust Meetup at Browns
2023-09-19 | Augsburg, DE | Rust - Modern Systems Programming in Leipzig
Logging and tracing in Rust
2023-09-20 | Aarhus, DK | Rust Aarhus
Rust Aarhus - Rust and Talk at Concordium
2023-09-21 | Bern, CH | Rust Bern
Third Rust Bern Meetup
North America
2023-09-05 | Chicago, IL, US | Deep Dish Rust
Rust Happy Hour
2023-09-06 | Bellevue, WA, US | The Linux Foundation
Rust Global
2023-09-12 - 2023-09-15 | Albuquerque, NM, US + Virtual | RustConf
RustConf 2023
2023-09-12 | New York, NY, US | Rust NYC
A Panel Discussion on Thriving in a Rust-Driven Workplace
2023-09-12 | Minneapolis, MN, US | Minneapolis Rust Meetup
Minneapolis Rust Meetup Happy Hour
2023-09-14 | Seattle, WA, US | Seattle Rust User Group Meetup
Seattle Rust User Group - August Meetup
2023-09-19 | San Francisco, CA, US | San Francisco Rust Study Group
Rust Hacking in Person
2023-09-21 | Nashville, TN, US | Music City Rust Developers
Rust on the web! Get started with Leptos
2023-09-26 | Pasadena, CA, US | Pasadena Thursday Go/Rust
Monthly Rust group
2023-09-27 | Austin, TX, US | Rust ATX
Rust Lunch - Fareground
Oceania
2023-09-13 | Perth, WA, AU | Rust Perth
Rust Meetup 2: Lunch & Learn
2023-09-19 | Christchurch, NZ | Christchurch Rust Meetup Group
Christchurch Rust meetup meeting
2023-09-26 | Canberra, ACT, AU | Rust Canberra
September Meetup
If you are running a Rust event please add it to the calendar to get it mentioned here. Please remember to add a link to the event too. Email the Rust Community Team for access.
Jobs
Please see the latest Who's Hiring thread on r/rust
Quote of the Week
In [other languages], I could end up chasing silly bugs and waste time debugging and tracing to find that I made a typo or ran into a language quirk that gave me an unexpected nil pointer. That situation is almost non-existent in Rust, it's just me and the problem. Rust is honest and upfront about its quirks and will yell at you about it before you have a hard to find bug in production.
– dannersy on Hacker News
Thanks to Kyle Strand for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, andrewpollack, U007D, kolharsam, joelmarcey, mariannegoldin, bennyvasquez.
Email list hosting is sponsored by The Rust Foundation
Discuss on r/rust
0 notes
redwolf · 2 years
Photo
Tumblr media Tumblr media Tumblr media
Geometric Pattern: Zellij: Ruby White
(via "Geometric Pattern: Zellij: Ruby White" by * Red Wolf | Redbubble)
3 notes · View notes
linuxtldr · 18 days
Text
1 note · View note
apollonvim · 1 month
Text
🚀 ApolloNvim Distro
Verze: 24.03
Link: 🚀 ApolloNvim
Tumblr media
Programování je mnohem zábavnější, když jste efektivní. Neovim vás tam může časem dostat, ale musíte být ochotni zkoušet nové věci. Nové pluginy, nové remapy atd.
Úvod:
Vždy se podívej před instalací nových pluginu, na dokumentaci k plaginům na Githubu. Předejdeš tím případným problémům! Pokud si nejsi jistý postupem nebo ti není něco jasné, tak raději se podívej do dokumentace,napiš nám nebo na fórech najdeš odpověď. Táke si vše vždy před změnou zálohuj!
👉 Neovim setup pro Front-End vývoj postavený na Coc a Lua.
👉 Výhody Neovim oproti klasickému IDE jsou nesporně ve svobodě konfigurace, je tisíce možností, jak Váš Neovim může vypadat a fungovat. Pro Vaši inspiraci a použití vznikl tento projekt 🚀 ApolloNvim.
👉 Tato distribuce nefunguje jen, že kliknete na tlačítko a nainstaluje se. Vede Vás k samostatné instalaci pomocí tohoto webu. Cílem je pochopit, jak Neovim funguje, abyste si sami mohli vše modifikovat, což i click-on distribucí se nenaučíte.
👉 Toto nastavení jsem si udělal pro vývoj webu. Inspiroval jsem se pluginy, které jsem využíval v VSCode a Webstorm.
👉 Velký důraz je kladen na rychlost a lehkost.
👉 🚀 ApolloNvim Distro je pravidelně aktualizováno tak i celý projekt.
👉 Pro nejlepší zážitek s 🚀 ApolloNvim Distro doporučuji používat multiplexor Zellij, ale není to samozřejmě podmínkou.
Přednosti:
👉 Hlavní předností tohoto nastavení jsou podpora: Codeium alternativa k Copilot zdarma, Prettier, AutoSave, diplňování HTML, CSS, JS a zkratky k zakomentování a odkomentování kódu. Taky je zde několik pluginu pro příjemnější práci v Neovim.
👉 S LSP v této instalaci využívám Coc pro jeho jednoduchost bez potřeby zásahů do konfigurace Coc. LSP se mi velmi osvědčilo v modálním editoru Helix má konfigurace Helixu.
👉 Ty nejlepší témata pro Neovim (ať je nemusíte hledat), je defaultně nastavéné Dracula.
👉 Téma v Neovim si jednoduše změníte v command line příkazem colorscheme a tlačítkem Tab se budete přepínat mezi jednotlivými tématy.
Podpora:
👉 Pokud jakkoliv chcete podpořit nebo se podílet na obsahu a funkčnosti 🚀 ApolloNvim, budu rád, když mi zde napíšete.
Tumblr media
👉 Taky můžete tento projekt podpořit pár Satoshi:
Další projekty a odkazy:
👉 ArchLinux CZ
👉 Vyhledávač SearXNG CZ
👉 EndeavourOS Linux
👉 i3 window manager
0 notes
babalmaghrib · 11 months
Text
Zellij fragment, 1350 ~ (14th century), Tangier, Morocco
Tumblr media
— Conserved at the Royal Museums of Art & History in Brussels, Belgium
4 notes · View notes
drew-mga2022mi6011 · 3 months
Text
Worldbuilding | Morocco, 1920
Tumblr media Tumblr media Tumblr media
Trauma
In the 1920s, Morocco was not having a particularly good time. In 1921, tension between colonial Spanish forces and Rif peoples in northern Morocco culminated in a series of guerrilla attacks led by Berber leader Abd el-Krim on Spanish fortifications in June–July 1921. Within weeks, Spain lost all of its territory in the region. This would come to be known as the Rif war. The Rif War lasted from June 1921 to May 1926, when Spanish forces regained the territory they had lost in 1921 and subsequently "won." About 43,500 Spanish troops were killed or wounded or went missing during the war; Spain’s ally France counted about 18,000 as killed, wounded, or missing. Rif casualties may have been about 30,000, with 10,000 killed.
The Rif War was the last major confrontation during several centuries of conflict between the Rif peoples of northern Morocco and the Spanish. Historians debate whether the Rif War is better understood as a secular insurgency against a colonial power or a war in defense of Islam and Berber independence. The war was mainly fought in the northern mountains of Morocco, known as the Rif, however it is not considered to be part of the Atlas Mountain System.
In addition to this, the French colonials settled in 1912, which would come to be known as the French protectorate in Morocco or more simply, French Morocco. France established a protectorate over Morocco as a result of the signing of the Treaty of Fez on March 30, 1912.  Prior to 1912, Morocco had been an independent kingdom for several centuries. This would last for 46 years, until 1956.
Geography
North Africa has three main geographic features: the Sahara desert in the south, the Atlas Mountains in the west, and the Nile River and delta in the east. The Atlas Mountains extend across much of northern Algeria, Morocco, and Tunisia. The most notable of these is the Sahara desert.
Architecture
Moroccan architecture in the 1920s incorporated natural elements like stucco, tilework, pise, brick, and marble, which provided beautiful, durable foundations. Tilework is often used to create colorful mosaics that can be used to decorate floors and walls, as well as significant areas in mosques or courtyards, like fountains. The Amazigh built traditional kasbahs and fortifications in the high mountains and desert. Their architectural style is characterised by imposing buildings made from pise, or red mud clay bricks that have been dried in the sun. Additionally, it was not uncommon to see reed-roofed streets and intricately decorated structures whilst walking through town. This ancient Moroccan architectural style is most prevalent in the Atlas Mountains. There, Amazigh villages and kasbahs made with red clay bricks that make a striking contrast to the blue sky. One of the most impressive is Ait Benhaddou in Ouarzazate. Built in the 1600s, this fortified village is made of clay buildings surrounded by defensive walls. The sheer size and asymmetrical structure of this village make it a truly spectacular site.
Morocco had witnessed a long line of invaders including Saharans, Phoenicians, Romans, Greeks, Byzantines, Ottomans, Arabs, Spanish and French. The region was conquered by Muslim Arabs by the 7th century and since then, Islam had the most significant impact on Moroccan architecture. Islamic architecture is highly decorative and functional, characterised by geometric patterns, tiles, fountains, horseshoe arches, and floral arabesques carved into stone or wood. Traditional Moroccan tiles (Zellij) were introduced, with spectacular geometric tiles lining the interiors and exteriors of buildings across Morocco. The classic colours are green, blue, brown, white, and black. Fountains are an integral part of Islamic Moroccan architecture, as they represent paradise. They’re also a place where Muslims can perform purification rituals before prayers. By the 8th century, the Moors were greatly influencing Moroccan architecture. The Moors occupied parts of Spain and Morocco for centuries, so aspects of Spanish architecture became entwined with Islamic and African influences. Some distinctive Moorish influences include the white stucco facades, red-tiled roofs, and elements from Art Deco and Art Nouveau styles. The Moors were also known for their clover-shaped and cusped arches, interior garden courtyards, and hand-glazed tiling.
When the French colonised South Morocco from 1912 to 1956, they introduced elements of French design to Moroccan architecture. One of the most distinctive changes was the windows. While Berber and Islamic architecture used small windows, the French brought in their large double French doors and windows. The French also introduced restrictive building standards. They decreed that buildings could not be higher than four stories and all building roofs should be level and flat. Balconies could not overlook neighbours and each planned area should have 20% of the land dedicated to outdoor gardens or courtyards. While these policies were aimed at preserving the country’s existing traditional architecture, they also stalled urban development in many areas and repressed architectural innovations.
0 notes
hackernewsrobot · 3 months
Text
Zellij – A terminal workspace with batteries included (tmux alternative)
https://zellij.dev/screencasts/
0 notes
bruderherzlove · 9 months
Text
Tumblr media
Unveil the lovely Charms of Fes Medina with Luxury Fes Tours! 😍 Enter into a journey through time with our exclusive Fez private guided tour. Delve into the mysteries of the Old Medina, a UNESCO World Heritage site, as our team of experts escorts you through the captivating tapestry of this imperial city. Gaze in awe at renowned landmarks such as Bab Bou Jeloud Gate and the ancient Al-Qarawiyyin Mosque. Be entranced by architectural marvels like the Attarine Madrasa and the tranquil Karaouine Mosque. Engage with local artisans, and masters of Moroccan craftsmanship, as they unveil pottery and zellij tilework wonders. Immerse yourself in the narratives and history spun by our passionate guides. Let Luxury Fes Tours be your gateway to experiencing the irresistible allure of Fes Medina – a profound cultural immersion like no other. Book your tour now! 🌐 https://luxuryfestours.com/fez-private-guided-tour.html Read more/Booking https://www.luxuryfestours.com/ 📩 Email: [email protected] 📞 Phones: +212674361550
0 notes
fabmorocco · 9 months
Text
Tumblr media
The Ben Youssef Madrasa is an Islamic college in Marrakesh, Morocco, built in the 16th century and known for its magnificent craftsmanship details, including zellij tiling, stuccowork, and wood carvings.
.
.
.
1 note · View note